我正在创建一个msi安装程序,它需要能够升级使用非msi安装程序进行的现有安装。由于安装本身是相同的,这实际上不是一个太大的问题,除了升级后,我在程序和功能控制面板中留下了msi和非msi版本的条目。如何在安装msi版本时删除非msi条目?
发布于 2012-03-15 12:39:34
该信息存储在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\PRODUCTKEY中
您可以使用具有removeKeyOnInstall属性的注册表元素来删除它。但是,我要提醒您,根据我的经验,事情通常不会这么简单。例如,如果要安装到同一目录,则卸载可能会因为错误的文件引用计数而无法正常工作。此外,如果产品的版本是正确的(我见过很多次供应商发布了两个不同的DLL,使用相同的版本号很多次),那么覆盖可能不会像预期的那样。此外,您可能需要从旧安装中清除额外的crud,因此只需确保它像您预期的那样正常工作。
https://stackoverflow.com/questions/9718898
复制