Microsoft Installer:它可以在没有版本号更改的情况下升级产品吗?

我们想使用流行的
major.minor.update.build_number
版本控制方案。我们的下一个产品更新将是1.0.1版。 我们的内部配置管理机制可以生成发布版本和每日版本,所有这些都会自动打包为MSI。开发人员和QA定期下载构建并使用它们更新测试装备以验证错误修复等。 每个CM构建都会增加
build_number
字段,因此构建版本可能看起来像这样
1.0.1.001 // Release build  
1.0.1.002 // Daily build  
1.0.1.003 // Another Daily build  
1.0.1.004 // New Release build  
我们的问题是,由于我们的ProductVersion没有改变,微软的安装程序技术不会让我们在我们的测试台上运行那些MSI作为更新。我们必须完全卸载现有产品并重新安装所需的MSI。 有没有办法让我们的MSI应用更新而不管ProductVersion标记? 我们使用InstallShield。是否有其他安装技术可以让我们按照自己的意愿行事? 谢谢!     
已邀请:
在这种情况下,您应该可以进行小幅升级。如果您的目标是进行重大升级,则应该更改ProductVersion属性的前三个字段之一。 如果您的目标是向上游游泳,那么您需要在FindRelatedProducts和RemoveExistingProducts之间插入自定义操作以覆盖MSI的内置产品检测逻辑。基本上,您需要使用Msi API来查找UpgradeCode的已安装ProductCodes。 我个人推荐 Major.Minor.Build.Patch所以我增加的构建序列是 1.0.1.0 1.0.2.0 1.0.3.0 1.0.4.0 1.1.5.0 1.1.6.0 1.1.7.0 .0允许我灵活地重建程序集并在需要时将它们作为补丁发送。     

要回复问题请先登录注册