【发布时间】:2019-05-24 14:10:00
【问题描述】:
我想在升级过程中跳过一些自定义操作uninstallDriver,为此我尝试检索属性 WIX_UPGRADE_DETECTED 和 UPGRADINGPRODUCTCODE,但两者都没有设置。
示例代码:
UninstallDriver(MSIHANDLE hInstall)
{
char szBuff[1024]; DWORD dwValue = 0;
OutputDebugStringA("UninstallDriver");
MsiGetPropertyA(hInstall, "UPGRADINGPRODUCTCODE", szBuff, &dwValue);
OutputDebugStringA("UPGRADINGPRODUCTCODE");OutputDebugStringA(szBuff);
MsiGetPropertyA(hInstall, "WIX_UPGRADE_DETECTED", szBuff, &dwValue);
OutputDebugStringA("WIX_UPGRADE_DETECTED");OutputDebugStringA(szBuff);
result = UninstallDriver();
return result;
}
而我的 customAction 是,
<Custom Action='UninstallMYDriverAction'
After='InstallInitialize'>
REMOVE~="ALL" OR REINSTALL</Custom>
【问题讨论】:
-
一个问题:您使用的是第一个版本吗?如果是这样,那么您需要修补已发布的版本,以防止它运行其嵌入式卸载序列。这又是另一回事了,它涉及使用次要升级来修补已安装的产品(不会卸载现有产品,而是将其升级到位)而不是重大升级(即卸载旧版本并重新安装新版本)。 Somwhat similar issue.
标签: wix windows-installer custom-action