u010909114 于 2016-05-20 12:51:23 编辑
1:C# 写了个程序,代码中包含有使程序自动启动的功能(也就是将程序写入到注册表中)。安装部署生成Setup安装包;
2:安装此安装包后,开机程序也能自动启动。但不知为何本人卸载此程序后,开机程序还是能启动?(卸载后程序要用到的各种配置文件都被删除了)
3:想知道下为何会出现这种卸载后程序还能运行的原因,莫非写入到注册表时,会将配置文件等也写入到注册表中?
4:怎么样本人没有删除注册表中此程序的注册信息(键值),程序代码更新后重新安装此安装包,它会将之前的配置文件/键值等覆盖掉吗?也就是注册表中是最新代码中的配置文件吗?
5:代码中有实现每次开机自动将程序写入到注册表的功能。
解决方案
30
没有删除Run健值下的程序路径,启动时肯定还是会去尝试启动,但是假如真的卸载干净了,那么就会出现个找不到文件的提示。
程序还能运行就是卸载不干净,或你的程序运行时自本人复制了一份在别的地方,并且在注册表里又写了另一个路径。
程序还能运行就是卸载不干净,或你的程序运行时自本人复制了一份在别的地方,并且在注册表里又写了另一个路径。
20
.net 程序本质上不需要任何注册表之类的“壳”,很少有驱动版本兼容性故障,它基本上是 copy 即可。那么它的稳定性很高,生存能力很强,不像15年前的那些编程环境开发的程序那样脆弱。
你的程序为什么还能执行,你需要仔细检查代码保存的路径。总之是不要用15年前的观念来看到 .net 程序。
你的程序为什么还能执行,你需要仔细检查代码保存的路径。总之是不要用15年前的观念来看到 .net 程序。
20
好好检查你的启动路径。或检查你代码里面的保存路径。检查路径下的对应目录。
20
任务管理器找到进程,右键打开文件位置,找找哪里启动的,之后再去注册表搜下那个路径
10
你到你的安装路径下看看文件还在不在不就知道了