如何使用WIX删除卸载msi上的注册表项

时间:2016-03-01 06:05:22

标签: c# .net wix windows-installer registrykey

我需要在用户卸载应用程序时删除注册表项。

这些注册表项位于HKEY_CURRENT_USER \ SOFTWARE。

我正在使用WIX工具。

请注意,密钥未在安装时注册,但在登录后根据用户执行的操作进行注册。

提前致谢

1 个答案:

答案 0 :(得分:2)

Windows Installer只能访问正在运行的用户的注册表配置单元。在技​​术上可以编写自定义操作来枚举用户配置文件列表并加载每个ntuser.dat,但这最终会导致各种问题。简短的回答是不切实际。此外,Microsoft标准声明在卸载时会留下用户数据。

如果您真的想这样做,我知道的最好方法是在卸载期间使用自定义操作写入注册表(MSI不支持)。使此注册表值设置ActiveSetup命令以调用reg.exe删除。然后当每个用户下次登录时,密钥将被删除。