对不起,我不得不说我是wix工具集和wxs相关知识的新手......
目前,我们正在开发一个Windows桌面应用程序。每次我们发布产品版本时,我们都会将二进制文件提供给构建团队,构建团队会帮助我们生成升级.msi包,这需要很长时间。
我看一下wix工具集,发现在msi安装过程中我们是否没有安装过程更改,我们可以使用dark.exe命令从旧版本的msi pakcage生成wxs文件,然后更改新的GUID ,产品名称和产品版本等,我们可以使用蜡烛和灯光命令再次将wxs更改为新的升级msi包。对于一些简单的情况,构建团队不需要为我们生成msi包....
我说错了吗?如果是的话,我们可以使用一些自动方式处理一些应用程序升级工作,以便进行一些简单的升级工作....?
答案 0 :(得分:2)
如果您在生成的wxs文件的Product标记中有id属性的*
,则会在每个安装程序版本上生成新的guid。
<Product Id="*"
Version="1.2"
UpgradeCode="$(var.UpgradeCode)">
<MajorUpgrade AllowSameVersionUpgrades="yes"
DowngradeErrorMessage="!(loc.DowngradeErrorMessage)" />
</Product>
只要您保持UpgradeCode静态,它将自动卸载以前的版本,然后为您安装新版本。 AllowSameVersionUpgrades
允许这适用于次要版本更改,但如果安装程序很大并且需要很长时间才能安装,那么您应该考虑修补。