我有带几个包和自定义BA的wix包。所有包都有InstallCondition属性。所有单独的软件包都已成功安装。但是,如果我安装了一些软件包,然后尝试在修改模式下添加其他软件包,则不会安装它们。InstallCondition的计算结果为true,而Cache=则“始终”。日志看起来如下(安装了Package1,我想添加Package2 ):
检测到的包: Package1.msi,状态:存在,缓存:完成
检测到的包: Package2.msi,状态:缺席,缓存:完成
..。
将字符串变量“Package1”设置为值“true”
将字符串变量“Package2”设置为值“true”
..。
条件'Package1 =‘true’计算为真。
条件'Package2 =‘true’计算为真。
..。
计划包: Package1.msi,状态:当前,默认请求:当前,ba请求:当前,执行:无,回滚:无,缓存:否,uncache:否,相关性:寄存器
计划包: Package2.msi,状态:缺席,默认请求:缺席,ba请求:缺席,执行:无,回滚:无,缓存:否,uncache:否,依赖:无
另外,在修改模式下删除部分包也会成功运行。
发布于 2020-03-18 09:24:41
在LaunchAction =“修改”期间,引擎默认不安装软件包。您可以通过日志的default requested: Absent部分看到这一点。如果自定义BA希望在Modify期间安装包,则需要在计划期间更改请求的状态(使用OnPlanPackageBegin方法的pRequestedState参数)。请注意,更改默认状态可能会导致不必要的场景,例如在卸载包时安装包,因此要彻底测试。
发布于 2020-03-12 13:50:21
最后,解决了将LaunchAction =“修改”更改为LaunchAction =“安装”的问题。这很好,但我仍然不知道如何使用LaunchAction =“修改”,为什么我可以删除包,但不能添加。
https://stackoverflow.com/questions/60613712
复制相似问题