I am having an issue, for the first time, with a minor upgrade (I think this is the correct term?) for my Installshield MSI installer. I changed the necessary values in the installer as I have done many times before: set "Product Version" from "2.0.12" to "2.0.13" and updated the component file/assembly version from "2016.12.19.1415" to "2017.1.30.1037". However, when I run the upgrade, the component is not upgraded from the 2016 version to the 2017 version.
我第一次遇到问题,我的Installshield MSI安装程序进行了一次小的升级(我认为这是正确的术语?)。我在安装程序中更改了必要的值,因为我之前做了很多次:将“产品版本”从“2.0.12”设置为“2.0.13”,并将组件文件/程序集版本从“2016.12.19.1415”更新为“2017.1” .30.1037" 。但是,当我运行升级时,组件不会从2016版升级到2017版。
Below is as much information about the component as I got from the MSI log:
下面是我从MSI日志获得的有关组件的信息:
MSI (s) (4C:10) [16:01:32:848]: Component: EAS.Common.SignalR.Client.dll; Installed: Local; Request: Null; Action: Null
MSI(4C):[16:01:32:848]:组件:EAS.Common.SignalR.Client.dll;已安装:本地;要求:无效;行动:空虚
edit: I reverted to the previous version of the installer and added the updates. The upgrade now works properly. So I think it has something to do with new components I added.
编辑:我恢复到以前版本的安装程序并添加了更新。升级现在可以正常运行。所以我认为它与我添加的新组件有关。
1 个解决方案
#1
2
Most people are better off using the simpler more flexible albeit less efficient Major Upgrades. Minor Upgrades require a strong understanding of the component rules and strict limitations in what can and can't be done. This requires discipline by the development team in what they ask the setup developer to do.
大多数人最好使用更简单,更灵活,尽管效率较低的Major Upgrades。次要升级需要对组件规则有深刻的理解,并且需要对可以做什么和不可以做什么的严格限制。这需要开发团队遵守他们要求安装开发人员做的事情。
If you are going to do minor upgrades, make sure you use the MSIENFORCEUPGRADECOMPONENTRULES property to fully test your compliance. This might help you find bugs rather then installs that seem to work but don't end the way you expect.
如果要进行小幅升级,请确保使用MSIENFORCEUPGRADECOMPONENTRULES属性来全面测试合规性。这可能会帮助您找到错误,而不是安装似乎有效,但不会以您期望的方式结束。
#1
2
Most people are better off using the simpler more flexible albeit less efficient Major Upgrades. Minor Upgrades require a strong understanding of the component rules and strict limitations in what can and can't be done. This requires discipline by the development team in what they ask the setup developer to do.
大多数人最好使用更简单,更灵活,尽管效率较低的Major Upgrades。次要升级需要对组件规则有深刻的理解,并且需要对可以做什么和不可以做什么的严格限制。这需要开发团队遵守他们要求安装开发人员做的事情。
If you are going to do minor upgrades, make sure you use the MSIENFORCEUPGRADECOMPONENTRULES property to fully test your compliance. This might help you find bugs rather then installs that seem to work but don't end the way you expect.
如果要进行小幅升级,请确保使用MSIENFORCEUPGRADECOMPONENTRULES属性来全面测试合规性。这可能会帮助您找到错误,而不是安装似乎有效,但不会以您期望的方式结束。