我有一个简单的C#应用程序,允许用户指定它应该(或不应该)启动Windows;它通过设置(或删除)注册表项(即...... \ Software \ Microsoft \ CurrentVersion \ Run \ MyApplicationHere)来实现。
我正在使用VS安装项目来为该程序创建安装程序。我不希望安装程序创建此密钥;它只应在用户从程序中选择选项时创建。
问题在于:我希望卸载程序删除此密钥(如果存在),最好不要求助于任何类型的hackery;如果有一个简单的“内置”解决方案,我很乐意听到它。谢谢!
答案 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)
尝试创建自定义卸载操作以删除密钥。不是“内置”,但它只是几行代码。