【问题标题】:Can we use previous version msi/wxs file to generate new upgrade msi package?我们可以使用以前版本的 msi/wxs 文件来生成新的升级 msi 包吗?
【发布时间】:2017-11-14 03:43:54
【问题描述】:

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

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

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

我说的对吗?如果是的话,我们可以使用一些自动的方式来处理一些简单的升级情况下的一些应用程序升级工作......?

【问题讨论】:

    标签: powershell wix windows-installer


    【解决方案1】:

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

    <Product Id="*"
             Version="1.2"
             UpgradeCode="$(var.UpgradeCode)">
    
         <MajorUpgrade AllowSameVersionUpgrades="yes"
                       DowngradeErrorMessage="!(loc.DowngradeErrorMessage)" />
    
    </Product>
    

    只要您保持 UpgradeCode 静态,它就会自动卸载以前的版本,然后为您安装新版本。 AllowSameVersionUpgrades 允许这适用于较小的版本更改,但如果安装程序很大并且安装时间很长,您可能应该查看修补程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-31
      • 2015-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多