相关疑难解决方法(0)

Windows安装程序在产品升级期间删除版本化文件,而不是降级它

我们使用wix来创建我们的设置.对于升级,我们使用主要升级,如Rob Mensching的回答所示.(在较新的wix版本中,您可以使用MajorUpgrade元素.)这通常很有效.删除旧产品,然后安装新产品.

但是,显然上述内容并不完全等同于手动卸载旧产品然后手动安装新产品.

考虑例如以下场景:

  • 我们的产品版本1.0已发布,包含第三方dll的5.0版本
  • 我们的产品版本1.1已发布,包含相同thirdparty dll的5.1版
  • 我们产品的1.2版本已经发布,再次降级到第三方dll的5.0版本,因为我们发现新版本引入了比解决的问题更多的问题.

显然,使用上面链接的wix升级逻辑,从1.1版升级到1.2时,3rdparty dll将消失.修复是必要的,以恢复它.

还有另一种升级方式,这适用于这种情况吗?我想我正在寻找的是升级逻辑,它允许降级组件,其行为就像手动卸载旧产品然后手动安装新产品一样.

windows-installer wix

29
推荐指数
2
解决办法
4692
查看次数

WiX升级问题-文件的主要版本已增加,但修订版本较低,现在已删除旧文件,但在升级过程中未复制新文件

我会根据目录(用于Web应用程序)自动为安装程序生成WiX文件,其中包含对以下3个.Net程序集的引用:

  • Migrator.dll
  • Migrator.Framework.dll
  • Migrator.Providers.dll

这是生成WiX片段:

<Fragment>
<DirectoryRef Id="bin">
  <Component Id="bin.Migrator.dll" Guid="*">
    <File Id="bin.Migrator.dll" Name="Migrator.dll" KeyPath="yes" Source="..\WebApplication\bin\Migrator.dll" />
  </Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="bin">
  <Component Id="bin.Migrator.Framework.dll" Guid="*">
    <File Id="bin.Migrator.Framework.dll" Name="Migrator.Framework.dll" KeyPath="yes" Source="..\WebApplication\bin\Migrator.Framework.dll" />
  </Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="bin">
  <Component Id="bin.Migrator.Providers.dll" Guid="*">
    <File Id="bin.Migrator.Providers.dll" Name="Migrator.Providers.dll" KeyPath="yes" Source="..\WebApplication\bin\Migrator.Providers.dll" />
  </Component>
</DirectoryRef>
</Fragment>
Run Code Online (Sandbox Code Playgroud)

我们使用相同的基本安装程序结构已有一年左右的时间,但是最近我们将Migrator.Net库更新为新的内部版本,该版本的版本号和程序集标题/描述属性从(从Orca倾销)更改为

  • bin.Migrator.dll bin.Migrator.dll Migrator.dll 16384 3.0.1317.0 0 512 78
  • bin.Migrator.Framework.dll bin.Migrator.Framework.dll pi0mozkr.dll | Migrator.Framework.dll 20992 3.0.1317.0 0 512 79
  • bin.Migrator.Providers.dll bin.Migrator.Providers.dll jq05waoy.dll | Migrator.Providers.dll 73216 3.0.1317.0 0 512 82

升级库后,要: …

windows-installer wix upgrade wix3

5
推荐指数
1
解决办法
1065
查看次数

标签 统计

windows-installer ×2

wix ×2

upgrade ×1

wix3 ×1