Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在修补程序期间设置ADDLOCAL属性_Windows_Wix_Windows Installer_Installation_Wix3.5 - Fatal编程技术网

Windows 在修补程序期间设置ADDLOCAL属性

Windows 在修补程序期间设置ADDLOCAL属性,windows,wix,windows-installer,installation,wix3.5,Windows,Wix,Windows Installer,Installation,Wix3.5,我有一个MSI软件包,它安装了许多用户可以选择安装在计算机中的功能。我还有一个MSP补丁包,可以更新一些组件并修复应用程序中的一些错误。我注意到在补丁安装期间,属性ADDLOCAL会自动设置为包含所有功能的列表(在CostFinalize操作期间) 我想知道为什么“CostFinalize”操作要设置ADDLOCAL属性,为什么要设置所有“缺席”特性 我的问题是,补丁正在安装所有东西。 我真的找不到解释,所以任何帮助都将不胜感激 编辑: 链接到同一问题:您已尝试解决。当时,您发现重新安装属性包含

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

我想知道为什么“CostFinalize”操作要设置ADDLOCAL属性,为什么要设置所有“缺席”特性

我的问题是,补丁正在安装所有东西。 我真的找不到解释,所以任何帮助都将不胜感激

编辑:
链接到同一问题:

您已尝试解决。当时,您发现
重新安装
属性包含用户安装的功能

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

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


问题类似,但不同。由于CostFinalize操作正在通过自己的方式设置ADDLOCAL属性,因此该修复程序这次不起作用。我无法在此处更改ADDLOCAL属性,因为无论我做什么,CostFinalize操作都会将其设置为所需的值。必须有一个解释为什么补丁试图安装所有东西,但我似乎找不到它。我添加了一个与具有相同问题的人的链接。在中:补丁添加了一个新组件,它是已安装功能和未安装功能的一部分。这可能就是
CostFinalize
认为必须同时安装这两个功能的原因。在我看到Alexey的答案之前,我打算使用Type 1自定义操作。他的方法很有效。它适用于后续补丁。