WIX安装程序 - 升级应用程序并不总是删除先前安装的应用程序

时间:2017-05-26 14:47:20

标签: wix

首先,我试图在几个论坛上找到解释,但我没有 找到了一个可以解释观察到的行为的话题 如果我错过了,我会提前道歉。

观察到的行为:

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

先前和当前安装程序wix安装项目之间发生了什么变化:

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

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

  1. 以前的产品安装在&#34; C:\ Program Files \&#34;已正确卸载 - 请参阅日志提取:
  2.   

    RemoveExistingProducts:Application:{F6E83B3C-CA4D-4FE2-BB54-4D5156D9EB98},命令行:UPGRADINGPRODUCTCODE = {DB2D1294-EA5F-4BEF-BFBC-A236E0DCDEB3} CLIENTPROCESSID = 21584 CLIENTUILEVEL = 0 REMOVE = ALL

    1. 新产品已正确安装在&#34; C:\ Program Files(x86)\&#34;
    2. 但另一方面,用户遇到了问题:未卸载以前的产品(Windows 7 - 64位操作系统)

      1. 使用详细日志升级时可以看到的是以前的版本 实测值:
      2.   

        RemoveExistingProducts:Application:{F6E83B3C-CA4D-4FE2-BB54-4D5156D9EB98},命令行:UPGRADINGPRODUCTCODE = {E71A5696-B038-4EEE-9B4A-DE0A3D84045E} CLIENTUILEVEL = 0 REMOVE = ALL

        1. 启动CostFinalize序列以删除现有产品时, 目录结构位置更改为&#34; C:\ Program Files (86)\&#34; 尚未安装产品
        2.   

          MSI(s)(6C:60)[12:17:56:505]:物业变更:修改ProgramFiles64Folder属性。它的当前值是&#39; C:\ Program Files \&#39;。它的新价值:&#39; C:\ Program Files(x86)\&#39;。

               

          MSI(sC)(6C:60)[12:17:56:505]:物业变更:添加CompanyDIR物业。它的值是&#39; C:\ Program Files(x86)\ Company \&#39;。

               

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

               

          MSI(s)(6C:60)[12:17:56:505]:物业更改:修改INSTALLFOLDER属性。它的当前价值是&#39; C:\ Program Files \ Company \ Company Product&#39;。它的新价值:&#39; C:\ Program Files(x86)\ Company \ Company Product \&#39;。

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

          问题:

          1. 有没有人遇到这样的行为?
          2. 是卸载旧版本并安装新版本的唯一解决方案 一个?
          3. 事先,感谢所有人!

1 个答案:

答案 0 :(得分:0)

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

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

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