我的个人理解:
其实桌面软件就是文件+注册表值。通过注册表的值索引到相应的文件,然后加载文件,实现程序运行。
安装的过程,就是把文件copy到对应的目录,然后写注册表值(添加索引)。
卸载的过程,就是把注册表值设置为无效或删掉,然后依次删掉文件系统的文件。
那么,程序出错,就是索引无法对应(比如找不到文件,索引值不对应等等)。这时候,暴力删除文件(这个操作可能会导致注册表失效,失效的注册表项可以被扫描到),再清理注册表,就会把所有的痕迹都cut掉。
重新安装的过程,就是安装过程的重复,写注册表的时候,由于种种原因(比如依赖项)导致失败,使用了旧值,于是出错了,最终导致整个依赖链和组件出错,于是运行不成功。
其实桌面软件就是文件+注册表值。通过注册表的值索引到相应的文件,然后加载文件,实现程序运行。
安装的过程,就是把文件copy到对应的目录,然后写注册表值(添加索引)。
卸载的过程,就是把注册表值设置为无效或删掉,然后依次删掉文件系统的文件。
那么,程序出错,就是索引无法对应(比如找不到文件,索引值不对应等等)。这时候,暴力删除文件(这个操作可能会导致注册表失效,失效的注册表项可以被扫描到),再清理注册表,就会把所有的痕迹都cut掉。
重新安装的过程,就是安装过程的重复,写注册表的时候,由于种种原因(比如依赖项)导致失败,使用了旧值,于是出错了,最终导致整个依赖链和组件出错,于是运行不成功。