【问题标题】:WIX Installer - Upgrading application does not always remove prior installed applicationWIX 安装程序 - 升级应用程序并不总是删除以前安装的应用程序
【发布时间】:2017-10-27 12:25:18
【问题描述】:

首先,我试图在几个论坛上找到解释,但我没有 找到了一个可以解释观察到的行为的主题。
在此之前,如果我错过了,我深表歉意。


观察到的行为:

使用新安装程序升级产品时,之前的安装并不总是正确删除。


以前和当前安装程序 wix 设置项目之间的变化:

  • 以前的产品安装程序安装在目录<DirectoryId="ProgramFiles64Folder">
  • 新的安装程序已经更新在<Directory Id="ProgramFilesFolder">下安装
  • 检查是否安装了 .Net framework 4.5 或更新版本
  • 使用<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />

当我在我的计算机(Windows 10 - 64 位操作系统)上升级产品时,一切正常:

  1. 以前安装在“C:\Program Files\”下的产品已正确卸载 - 请参阅日志提取:

删除现有产品:应用程序:{F6E83B3C-CA4D-4FE2-BB54-4D5156D9EB98},命令行:UPGRADINGPRODUCTCODE={DB2D1294-EA5F-4BEF-BFBC-A236E0DCDEB3} CLIENTPROCESSID=21584 CLIENTUILEVEL=0 REMOVE=ALL

  1. 新产品已正确安装在“C:\Program Files (x86)\”下

但是另一方面,用户遇到了一个问题:以前的产品没有卸载(Windows 7 - 64 bits OS)

  1. 使用详细日志升级时我可以看到以前的版本是 找到:

删除现有产品:应用程序:{F6E83B3C-CA4D-4FE2-BB54-4D5156D9EB98},命令行:UPGRADINGPRODUCTCODE={E71A5696-B038-4EEE-9B4A-DE0A3D84045E} CLIENTUILEVEL=0 REMOVE=ALL

  1. 当 CostFinalize 序列开始移除现有产品时, 目录结构位置更改为“C:\Program Files (x86)\" 尚未安装产品的地方

MSI (s) (6C:60) [12:17:56:505]:属性更改:修改 ProgramFiles64Folder 属性。它的当前值为'C:\Program Files\'。它的新值:'C:\Program Files (x86)\'。

MSI (s) (6C:60) [12:17:56:505]:属性更改:添加 CompanyDIR 属性。它的值是 'C:\Program Files (x86)\Company\'。

MSI (s) (6C:60) [12:17:56:505]: WIN64DUALFOLDERS: 'C:\Program Files (x86)\' 将替换 'C:\Program Files\Company\Company 中的 17 个字符产品\'文件夹路径。 (掩码参数 = 0,文件夹对的 iSwapAttrib 成员 = 0)。

MSI (s) (6C:60) [12:17:56:505]:属性更改:正在修改 INSTALLFOLDER 属性。它的当前值为“C:\Program Files\Company\Company Product”。它的新值:'C:\Program Files (x86)\Company\Company Product\'。

  • 我有完整的升级日志文件(一个正常,另一个失败)
  • 如果需要,我可以为您提供有关用于生成的 wix file.wxs 的更多详细信息 微星

问题:

  1. 有没有人遇到过这样的行为?
  2. 是卸载旧版本并安装新版本的唯一解决方案 一个?

提前谢谢大家!

【问题讨论】:

    标签: wix


    【解决方案1】:

    您是否遵循了组件 guid 更改指南?

    https://msdn.microsoft.com/en-us/library/windows/desktop/aa367849(v=vs.85).aspx

    当您更改文件夹/名称时,您必须更改 guid。

    【讨论】:

    • 您好 Bernd,非常感谢您的建议。事实上,我没有遵循这个指南,因为(对我来说)似乎只更改 INSTALLFOLDER(安装的组件在技术上与以前相同)并没有改变组件 GUID 我将尝试它并尽快提供反馈!谢谢!
    • 第一点得到验证:在我的电脑上,没有观察到回归:之前的版本仍然被正确卸载,新版本也被正确安装。下一步:与我的用户验证修复。验证可能需要更多时间(1 或 2 周),但请确保我会告诉您它是如何工作的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多