卸载期间删除注册表项

时间:2009-11-26 03:09:30

标签: visual-studio windows-installer installation registry

我有一个简单的C#应用​​程序,允许用户指定它应该(或不应该)启动Windows;它通过设置(或删除)注册表项(即...... \ Software \ Microsoft \ CurrentVersion \ Run \ MyApplicationHere)来实现。

我正在使用VS安装项目来为该程序创建安装程序。我不希望安装程序创建此密钥;它只应在用户从程序中选择选项时创建。

问题在于:我希望卸载程序删除此密钥(如果存在),最好不要求助于任何类型的hackery;如果有一个简单的“内置”解决方案,我很乐意听到它。谢谢!

3 个答案:

答案 0 :(得分:7)

  

恰到好处点击设置然后选择查看 - >注册表,你可以添加一个   列表的注册表项。密钥具有属性(右键单击 - >   属性)AlwaysCreate,DeleteAtUninstall和Transitive保持   AlwaysCreate为false,DeleteAtUninstall为true且Transitive to   也是如此   及其完成..

答案 1 :(得分:2)

注册表是为此而设计的:
http://msdn.microsoft.com/en-us/library/aa371168(VS.85).aspx

特别参见“名称”的描述:
如果“值”列为“空”,则“名称”列中下表中显示的字符串具有特殊意义。

- 在卸载组件时,将删除密钥(如果存在)及其所有值和子密钥。

答案 2 :(得分:0)

尝试创建自定义卸载操作以删除密钥。不是“内置”,但它只是几行代码。