c# 如何让在控制面板的卸载调用自己编写的卸载程序

时间:2021-07-27 17:09:21
如题;因为 如果程序运行中,然后点击控制面板的卸载,卸载会异常。
在线等。。。

8 个解决方案

#1


在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

#2


引用 1 楼 caozhy 的回复:
在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

谢谢,我试下。。。是不是在部署的时候,修改注册表,添加到\程序名字然后手动增加uninstallstring一项,修改它的属性?

#3


引用 1 楼 caozhy 的回复:
在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

不行啊,我把uninstallstring改为自定义的程序路径,但是在控制面板里卸载时调用的还是系统默认的卸载程序!

#4


你可以在项目打包的时候把御缷的程序一起打包进去试试看

#5


引用 2 楼 ycz20051813 的回复:
[Quote=引用 1 楼 caozhy 的回复:]

在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

谢谢,我试下。。。是不是在部署的时候,修改注册表,添加到\程序名字然后手动增加uninstallstring一项,修改它的属性?

问题解决了,因为我是用的Windows install 打包,在注册表中会生成一个键值WindowsInstaller 值为1 
把这个键值删掉后,修改的uninstallstring 才会生效

#6


引用 2 楼 ycz20051813 的回复:
[Quote=引用 1 楼 caozhy 的回复:]

在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

谢谢,我试下。。。是不是在部署的时候,修改注册表,添加到\程序名字然后手动增加uninstallstring一项,修改它的属性?

问题解决了,因为我是用的Windows install 打包,在注册表中会生成一个键值WindowsInstaller 值为1 
把这个键值删掉后,修改的uninstallstring 才会生效

#7


引用 3 楼 xujianfei2851 的回复:
Quote: 引用 1 楼 caozhy 的回复:

在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

不行啊,我把uninstallstring改为自定义的程序路径,但是在控制面板里卸载时调用的还是系统默认的卸载程序!


问题解决了,因为我是用的Windows install 打包,在注册表中会生成一个键值WindowsInstaller 值为1 
把这个键值删掉后,修改的uninstallstring 才会生效

#8


WindowsInstaller  删除后 控制面板就有2条安装程序的记录显示

#1


在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

#2


引用 1 楼 caozhy 的回复:
在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

谢谢,我试下。。。是不是在部署的时候,修改注册表,添加到\程序名字然后手动增加uninstallstring一项,修改它的属性?

#3


引用 1 楼 caozhy 的回复:
在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

不行啊,我把uninstallstring改为自定义的程序路径,但是在控制面板里卸载时调用的还是系统默认的卸载程序!

#4


你可以在项目打包的时候把御缷的程序一起打包进去试试看

#5


引用 2 楼 ycz20051813 的回复:
[Quote=引用 1 楼 caozhy 的回复:]

在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

谢谢,我试下。。。是不是在部署的时候,修改注册表,添加到\程序名字然后手动增加uninstallstring一项,修改它的属性?

问题解决了,因为我是用的Windows install 打包,在注册表中会生成一个键值WindowsInstaller 值为1 
把这个键值删掉后,修改的uninstallstring 才会生效

#6


引用 2 楼 ycz20051813 的回复:
[Quote=引用 1 楼 caozhy 的回复:]

在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

谢谢,我试下。。。是不是在部署的时候,修改注册表,添加到\程序名字然后手动增加uninstallstring一项,修改它的属性?

问题解决了,因为我是用的Windows install 打包,在注册表中会生成一个键值WindowsInstaller 值为1 
把这个键值删掉后,修改的uninstallstring 才会生效

#7


引用 3 楼 xujianfei2851 的回复:
Quote: 引用 1 楼 caozhy 的回复:

在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\程序名字 下面,修改 uninstallstring,为你要运行的程序。

不行啊,我把uninstallstring改为自定义的程序路径,但是在控制面板里卸载时调用的还是系统默认的卸载程序!


问题解决了,因为我是用的Windows install 打包,在注册表中会生成一个键值WindowsInstaller 值为1 
把这个键值删掉后,修改的uninstallstring 才会生效

#8


WindowsInstaller  删除后 控制面板就有2条安装程序的记录显示