我们可以使用以前版本的msi / wxs文件生成新的升级msi包吗?

时间:2017-06-12 15:29:58

标签: powershell wix windows-installer

对不起,我不得不说我是wix工具集和wxs相关知识的新手......

目前,我们正在开发一个Windows桌面应用程序。每次我们发布产品版本时,我们都会将二进制文件提供给构建团队,构建团队会帮助我们生成升级.msi包,这需要很长时间。

我看一下wix工具集,发现在msi安装过程中我们是否没有安装过程更改,我们可以使用dark.exe命令从旧版本的msi pakcage生成wxs文件,然后更改新的GUID ,产品名称和产品版本等,我们可以使用蜡烛和灯光命令再次将wxs更改为新的升级msi包。对于一些简单的情况,构建团队不需要为我们生成msi包....

我说错了吗?如果是的话,我们可以使用一些自动方式处理一些应用程序升级工作,以便进行一些简单的升级工作....?

1 个答案:

答案 0 :(得分:2)

如果您在生成的wxs文件的Product标记中有id属性的*,则会在每个安装程序版本上生成新的guid。

<Product Id="*"
         Version="1.2"
         UpgradeCode="$(var.UpgradeCode)">

     <MajorUpgrade AllowSameVersionUpgrades="yes"
                   DowngradeErrorMessage="!(loc.DowngradeErrorMessage)" />

</Product>

只要您保持UpgradeCode静态,它将自动卸载以前的版本,然后为您安装新版本。 AllowSameVersionUpgrades允许这适用于次要版本更改,但如果安装程序很大并且需要很长时间才能安装,那么您应该考虑修补。