【问题标题】:WiX minor upgrade doesn't remove old ShortcutWiX 次要升级不会删除旧的快捷方式
【发布时间】:2012-05-14 16:54:10
【问题描述】:

已执行以下步骤:

  1. Setup1.msi 已内置于 VS2005 + WiX 3.0 (.NET Framework 2.0)。
  2. Setup1.msi 已安装版本 1.0.0.0。
  3. 出于小升级的目的,已构建 Setup2.msi (Setup2.msi 与 Setup1.msi 的区别仅在于 ProductVersion="1.0.1.0")
  4. 已准备好以下 Patch.wxs:

    <Patch
        AllowRemoval="no"
        Classification="Update"
        Comments="..."
        Description="..."
        DisplayName="..."
        Manufacturer="..."
        TargetProductName="...">
    
    <Media Id="1000" Cabinet="MyPatch.cab">
        <PatchBaseline Id="MyPatch" />
    </Media>
    
    <PatchFamily 
        Id="MyPatchFamily" 
        Version="1.0.1.0" 
        ProductCode="...THE SAME AS IN Setup1.msi..."            
        Supersede="yes">
    
        <ComponentRef Id="CMP_Program_EXE" />      
        <ComponentRef Id="CMP_Desktop_Shortcut" />      
        <ComponentRef Id="CMP_ProgramMenu_Shortcut" />
    </PatchFamily>
    </Patch>
    
  5. Patch.msp 是在蜡烛、灯光、火炬和 pyro.exe 的帮助下创建的。

  6. 已调用以下命令:

    msiexec /p Patch.msp REINSTALL=ALL REINSTALLMODE=vomus
    

    因此,Program.exe 得到了更新,新的快捷方式“v. 1.0.1” 被创造。 但是,旧快捷方式“v. 1.0.0”仍保留在“DesktopFolder”和 “程序菜单文件夹”。

    如何使补丁删除旧的快捷方式?
    提前致谢。

【问题讨论】:

    标签: wix wix3


    【解决方案1】:

    最简单的方法是不在快捷方式名称中添加版本。见Windows UX Guidelines

    避免在程序名称中加入版本号,除非用户通常这样称呼您的程序。


    否则您的小升级必须删除旧版本的快捷方式并创建指向新版本的新快捷方式。

    在小升级期间,旧版本没有被卸载,所以快捷方式没有更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-18
      • 2017-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-09
      • 2016-09-20
      • 1970-01-01
      相关资源
      最近更新 更多