0

我刚开始使用 WIX,我在 stackoverflow 中阅读了很多教程和问题,但升级部分仍然存在问题。

当我通过单击 .msi 文件安装新版本时,它会删除旧版本并安装新版本。

但是,当我试图通过 cmd 做同样的事情时:

msiexec.exe /qn /l* logfile.txt /i MY_FILE.msi

效果不好。一些配置文件损坏,例如,在第一次安装时用户应该输入服务器名称,升级时他不需要这样做。在通过 cmd 升级时,服务器的名称被删除。(这是问题之一)

升级线

<Upgrade Id="GUID">
  <UpgradeVersion OnlyDetect="yes" Property="NEWER_VER_FOUND" IncludeMinimum="yes"
                        Minimum="$(var.ProductFileVersion)" />
  <UpgradeVersion Property="OLDER_VER_FOUND" IncludeMinimum="yes"
                        Minimum="1.0.0" IncludeMaximum="no" Maximum="$(var.ProductFileVersion)" />
</Upgrade>

有人知道如何解决这个问题吗?

另一个问题:如果我希望升级只与旧文件交换新文件而不是卸载/重新安装,我需要更改什么?

谢谢

4

1 回答 1

1

根据您的主要升级规则,这并不是真正的问题。它更多地与属性不会跨事务持久化这一事实有关。查看:

记住属性模式

于 2013-01-07T15:07:35.377 回答