在PATCH期间设置ADDLOCAL属性

时间:2012-09-11 20:13:30

标签: windows wix windows-installer installation wix3.5

我有一个MSI软件包,它安装了许多用户可以选择在他的计算机上安装的功能。我还有一个MSP补丁包,它可以更新一些组件并修复应用程序中的一些错误。我注意到在修补程序安装期间,属性ADDLOCAL会自动设置为包含所有功能的列表(在CostFinalize操作期间)。

我想知道为什么“CostFinalize”操作正在设置ADDLOCAL属性,为什么要用所有“缺席”功能设置它。

我的问题是修补程序正在安装所有内容。 我真的无法找到解释,所以任何帮助将不胜感激。

编辑: 链接到同一问题:here

1 个答案:

答案 0 :(得分:1)

您已尝试解决this problem。那时,您发现REINSTALL属性包含用户安装的功能。

然后,将此值分配给ADDLOCAL的简单技巧应该会有所帮助:

<CustomAction Id="CopyReinstallToADDLOCAL"
       Property="ADDLOCAL" Value="[REINSTALL]"
/>
<InstallExecuteSequence>
    <Custom Action="RCopyReinstallToADDLOCAL" Before="CostFinalize">
        <![CDATA[PATCH]]>
    </Custom>
</InstallExecuteSequence>