使用Windows 7中的Visual Studio 2008安装和部署项目删除注册表项

时间:2010-03-21 04:46:45

标签: visual-studio-2008 registry custom-action setup-deployment registrykey

我在Visual Studio 2008 Professional中创建了一个设置和部署项目。我正在使用Visual C ++,在其中我有两个在自定义操作下运行的exe文件。一个是在commit中运行,另一个是在卸载中运行。目的是在安装时添加注册表项,并在卸载时将其删除。它在Windows XP上运行良好,但是当我更改为Windows 7并运行设置时,只有键添加部分可以正常工作。在卸载时不会删除密钥。但是当我从安装程序中取出卸载exe文件并在Windows 7上单独运行时(不通过设置,只需双击exe)它就完全删除了注册表项。知道问题是什么吗?

2 个答案:

答案 0 :(得分:0)

是什么阻止您检查RegDeleteKey返回的错误代码?我想你的问题与在各种环境中启动程序时不同的访问权限有关。你可以尝试从HKLM中删除密钥。检查自定义程序和卸载程序的清单。

答案 1 :(得分:0)

一次。我解决了我的问题,创建了一个.reg文件,所以使用这个.reg文件,我使用vb,一个process.start(),然后我从硬盘中删除了de .reg文件。通过这种方式,我可以在没有完全访问其regedit权限的用户上创建密钥。

关于卸载,我将进行一项新的研究......谢谢。