安装MSP补丁后,Windows Installer决定安装初始MSI中提供的所有function。 我如何防止MSP补丁安装所有可用function?
function请求显示如下:
Installed: Absent Request: local Action : local
为什么要求安装全部?
用两个版本的Python(Windows)安装IPython
无法find软件包mitmf
.deb包的conffiles问题
Ubuntu 14.04中的Mongodb安装失败
TNS端口在Oracle 11g Express Edition安装问题中不可用
在virtualenv中安装PyQt4
如何检查升级包是否安装在Lotus Notes客户端中?
“这个程序可能没有正确安装”
Laravel命令不起作用 – Windows 7
我发现ADDLOCAL属性被设置为所有的卸载功能。 这导致了每个人的“请求:本地”。 我所做的解决这个问题是使用一个小的自定义操作,删除此属性。 它需要在CostFinalize之前执行,因为需要在该操作之前定义要安装的功能。 变量REINSTALL保存已安装的功能,并且要求所有这些功能进行REINSTALL。 因此,MSP补丁只重新安装已安装的功能,并保留未安装的功能。
<CustomAction Id="REMOVE_ADDLOCAL_PROPERTY" Property="ADDLOCAL" Value="[NonExistentProperty]" /> <InstallExecuteSequence> <Custom Action="REMOVE_ADDLOCAL_PROPERTY" Before="CostFinalize"> <![CDATA[PATCH]]> </Custom> </InstallExecuteSequence>
编辑:最后,这个解决方案为我的一个补丁工作,但失败了另一个。 所以到目前为止我所实现的最终解决方案是在补丁期间设置REINSTALL = ALL。 这个MSDN链接表示:
请注意,即使将REINSTALL设置为ALL,也只是重新安装了以前已安装的功能。 因此,如果REINSTALL被设置为尚未安装的产品,则根本不会进行安装操作。
所以我认为这是比删除ADDLOCAL属性更好的解决方案。 而且它也适用于这两个补丁。
您必须在初始安装ADDLOCAL属性时将所选功能保存到注册表中。 在安装修补程序时,必须相应地从注册表设置ADDLOCAL属性中读取状态。
链接到升级情况的问题 , MigrateFeatures属性(引用MigrateFeatureStates操作)在补丁情况下不起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。