我在Visual Studio 2008 Professional中创建了一个设置和部署项目。我正在使用Visual C ++,在其中我有两个在自定义操作下运行的exe文件。一个是在commit中运行,另一个是在卸载中运行。目的是在安装时添加注册表项,并在卸载时将其删除。它在Windows XP上运行良好,但是当我更改为Windows 7并运行设置时,只有键添加部分可以正常工作。在卸载时不会删除密钥。但是当我从安装程序中取出卸载exe文件并在Windows 7上单独运行时(不通过设置,只需双击exe)它就完全删除了注册表项。知道问题是什么吗?
答案 0 :(得分:0)
是什么阻止您检查RegDeleteKey返回的错误代码?我想你的问题与在各种环境中启动程序时不同的访问权限有关。你可以尝试从HKLM中删除密钥。检查自定义程序和卸载程序的清单。
答案 1 :(得分:0)
一次。我解决了我的问题,创建了一个.reg文件,所以使用这个.reg文件,我使用vb,一个process.start(),然后我从硬盘中删除了de .reg文件。通过这种方式,我可以在没有完全访问其regedit权限的用户上创建密钥。
关于卸载,我将进行一项新的研究......谢谢。