【发布时间】:2010-04-23 22:28:23
【问题描述】:
我正在编写我们产品的新的重大升级。 在我的安装程序中,我首先查找以前版本的配置设置,然后我想卸载以前的版本。
我找到了一些指南,告诉我应该如何使 MSI 适合此类升级。
但是,之前的不是 MSI。
它不符合最佳实践。
但是,它确实在注册表 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{GUID} 中指定了一个 UninstallString。
使用 RegistrySearch 我可以轻松找到下面的命令,我将其存储在 UNINSTALL_CMD 中。
RunDll32 C:\PROGRA~1\COMMON~1\INSTAL~1\PROFES~1\RunTime\10\01\Intel32\Ctor.dll,LaunchSetup
"C:\Program Files\InstallShield Installation Information\{GUID}\setup.exe"
-l0x9 -removeonly 4:
我无法掌握执行实际卸载所需的 CustomAction。
<CustomAction Id="ca.UninstPrev" Property="UNINSTALL_CMD" ExeCommand="" />
MSI 日志显示:
信息 1721。此 Windows 安装程序包有问题。无法运行完成此安装所需的程序。请联系您的支持人员或软件包供应商。操作:ca.UninstallPrevious,位置:RunDll32 C:\PROGRA~1\COMMON~1\INSTAL~1\PROFES~1\RunTime\10\01\Intel32\Ctor.dll,LaunchSetup "C:\Program Files\InstallShield 安装信息{GUID}\setup.exe" -l0x9 -removeonly,命令:
有人看到我在这里做错了吗?
问候
莱夫
【问题讨论】:
标签: wix