首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WIX installer无法从以前安装的Windows installer软件升级

WIX installer无法从以前安装的Windows installer软件升级
EN

Stack Overflow用户
提问于 2012-06-20 20:43:42
回答 1查看 598关注 0票数 3

我正在为我们的软件创建WIX安装程序,现在我在从以前的Windows installer软件包升级时遇到一些问题。

问题之前的一件事是,从一个WIX打包软件升级到另一个WIX打包软件实际上工作得很好,我可以卸载旧版本并安装新版本。当旧版本是Windows Installer打包版(这是我们当前的解决方案),而新版本是WIX打包版时,才会出现真正的问题。基本上,我的WIX安装程序无法发现已经安装了旧版本,因此将安装较新的版本,而不卸载旧版本。

如何在WIX installer和Windows installer之间建立连接:我将WIX的UpgradeCode设置为与Windows installer相同。我还在网上查看了一些示例,它们建议我当前的解决方案应该有效。以下是我的升级部分的.wxs文件的一部分:

代码语言:javascript
复制
<Upgrade Id="$(var.UpgradeCode)">

  <UpgradeVersion OnlyDetect="yes" Minimum="$(var.VersionNumber)" Property="NEWPRODUCTFOUND" IncludeMinimum="no" />
  <UpgradeVersion OnlyDetect="no" Maximum="$(var.VersionNumber)" Property="UPGRADEFOUND" IncludeMaximum="no" />           
</Upgrade>

<CustomAction Id="PreventDowngrading" Error="A software with newer version number is found on this machine" />        

<InstallUISequence>
  <Custom Action="PreventDowngrading"
          After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
</InstallUISequence>    

<InstallExecuteSequence>
  <Custom Action="PreventDowngrading"
      After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
  <RemoveExistingProducts After="InstallFinalize" />   
</InstallExecuteSequence>

值得一提的是,我们的软件实际上是一个Windows服务,我不确定这是否重要。谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-20 23:16:34

仅有相同的升级解码是不够的。您还必须检查这两个包是否具有相同的安装类型,即它们都是按用户或按计算机安装的。如果安装类型不同,Windows安装程序将跳过删除旧版本。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11119838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档