我理解的程序安装和卸载过程
2015-06-08 10:59
316 查看
我的个人理解:
其实桌面软件就是文件+注册表值。通过注册表的值索引到相应的文件,然后加载文件,实现程序运行。
安装的过程,就是把文件copy到对应的目录,然后写注册表值(添加索引)。
卸载的过程,就是把注册表值设置为无效或删掉,然后依次删掉文件系统的文件。
那么,程序出错,就是索引无法对应(比如找不到文件,索引值不对应等等)。这时候,暴力删除文件(这个操作可能会导致注册表失效,失效的注册表项可以被扫描到),再清理注册表,就会把所有的痕迹都cut掉。
重新安装的过程,就是安装过程的重复,写注册表的时候,由于种种原因(比如依赖项)导致失败,使用了旧值,于是出错了,最终导致整个依赖链和组件出错,于是运行不成功。
其实桌面软件就是文件+注册表值。通过注册表的值索引到相应的文件,然后加载文件,实现程序运行。
安装的过程,就是把文件copy到对应的目录,然后写注册表值(添加索引)。
卸载的过程,就是把注册表值设置为无效或删掉,然后依次删掉文件系统的文件。
那么,程序出错,就是索引无法对应(比如找不到文件,索引值不对应等等)。这时候,暴力删除文件(这个操作可能会导致注册表失效,失效的注册表项可以被扫描到),再清理注册表,就会把所有的痕迹都cut掉。
重新安装的过程,就是安装过程的重复,写注册表的时候,由于种种原因(比如依赖项)导致失败,使用了旧值,于是出错了,最终导致整个依赖链和组件出错,于是运行不成功。
相关文章推荐
- No space left on device svn: Commit failed (details follow): svn: Can't flush file '/srv/tsocsvn/ts
- 排序方法比较
- 排序方法比较 2015-06-08 10:59 23人阅读 评论(0) 收藏
- lua闭包
- win7/win8.1免费升级win10过后还要每年付费吗
- C#面向对象设计模式纵横谈(Singleton单件)
- activity 设置dialog
- 单例模式
- 微软学术搜索新特征暴光
- 编程语言明日之星——go语言
- Bootloader介绍和Uboot源码结构
- Android中Gridview和ViewPager显示图片的优化处理(1)
- 如何选择一款最好的硬盘对拷工具
- 又是高考--只做最有用的事
- 创新学分材料
- hdu 2201 熊猫阿波的故事
- 百钱买百鸡问题
- [前端] js data-*与jquery data-*的写法
- [Sqoop]将Hive数据表导出到Mysql
- PHP magic_quotes_gpc的详细使用方法