【问题标题】:Installshield MSI upgrade not updating filesInstallshield MSI 升级不更新文件
【发布时间】:2017-02-02 21:14:19
【问题描述】:

我的 Installshield MSI 安装程序的小升级(我认为这是正确的术语?)第一次遇到问题。我像以前一样在安装程序中更改了必要的值:将“产品版本”从“2.0.12”设置为“2.0.13”,并将组件文件/程序集版本从“2016.12.19.1415”更新为“2017.1” .30.1037"。但是,当我运行升级时,组件并没有从 2016 版升级到 2017 版。

以下是我从 MSI 日志中获得的有关该组件的所有信息:

MSI (s) (4C:10) [16:01:32:848]:组件:EAS.Common.SignalR.Client.dll;安装:本地;请求:空;行动:空

编辑:我恢复到以前版本的安装程序并添加了更新。升级现在可以正常工作。所以我认为这与我添加的新组件有关。

【问题讨论】:

    标签: windows-installer installation installshield


    【解决方案1】:

    大多数人最好使用更简单、更灵活但效率较低的主要升级。次要升级需要对组件规则有深入的了解,并严格限制可以做什么和不可以做什么。这需要开发团队遵守他们要求设置开发人员执行的操作。

    如果您要进行小幅升级,请确保使用MSIENFORCEUPGRADECOMPONENTRULES property 来全面测试您的合规性。这可能会帮助您找到错误,而不是安装看似有效但未按预期结束的安装。

    【讨论】:

    • 问题是我删除了以前安装中存在的组件。我将组件设置为具有条件“1 = 0”并将其重命名为“DONOTDELETE_{name}”
    • 我会小心重命名组件。 MSI 真的不喜欢更改主键。仅供参考,如果您使用 MSI =4.5,请阅读 MSIUNIINSTALLSUPERSEDEDCOMPONENTS。 stackoverflow.com/questions/23102970/…
    • 关于重命名组件和其他主键的警告词:blogs.msdn.microsoft.com/windows_installer_team/2007/03/07/…
    • 我最后的想法是,任何做小升级和补丁的人真的,真的需要像上帝一样了解这些东西。在我的一生中,我只遇到过几个这样的人,他们都在微软的战壕里工作过。对于凡人(包括我自己)坚持主要升级。结局会更好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    相关资源
    最近更新 更多