Wix - 请勿在安装时删除固定任务栏

时间:2014-01-20 18:49:52

标签: windows-7 wix installation installer taskbar

在安装或主要升级期间,如果用户已将应用程序固定到其任务栏,则在安装完成后,将从 \ AppData \ Roaming \ Microsoft \ Internet Explorer \ Quick中删除任务栏快捷方式启动\用户固定\任务栏并在其位置留下空白文件图标(请参见下面的图像链接)。单击该图标将提示用户删除,因为它没有任何目标。

http://i.stack.imgur.com/kz1zW.png

我想在安装或运行主要升级时完全不删除任务栏快捷方式。我们每周推出更新,如果任务栏快捷方式在每次更新期间中断,则可能会令人沮丧。

这可能吗?我读过有关修改RemoveExistingProducts的值(即从InstallValidate更改为InstallFinalize),但我不确定这是否可行。

感谢。

3 个答案:

答案 0 :(得分:5)

您可以通过禁用标准RemoveShortcuts来避免自定义操作,如下所示:

<InstallExecuteSequence>
  <RemoveShortcuts>Installed AND NOT UPGRADINGPRODUCTCODE</RemoveShortcuts>
</InstallExecuteSequence>

这会禁用删除卸载以外的快捷方式。

答案 1 :(得分:4)

我们遇到了此问题,我们的调查显示msiexec.exe在卸载或重大升级时删除了相应的快捷方式时显式删除了固定项。

作为解决方法,我们执行了以下操作:

  1. 使用以下WiX代码禁用标准RemoveShortcuts操作:

    <InstallExecuteSequence>
      <RemoveShortcuts>0</RemoveShortcuts>
    </InstallExecuteSequence>
    
  2. 为我们安装的每个快捷方式添加了显式<DeleteFile>条目。例如:

    <DirectoryRef Id="ProgramMenuDir">
      <Component Id="Component" Guid="B7469BFC-BF2A-4AF7-9DF5-3458BB485F18">
        <Shortcut Id="Shortcut" Name="My Supper App"
                  Directory="ProgramMenuDir" Target='MyApp.exe' />
        <RemoveFile Id="RemoveShortcut"
                    Name="My Supper App.lnk"
                    On="uninstall" />
      </Component>
    </DirectoryRef>
    
  3. 似乎工作正常。

答案 2 :(得分:-1)

我不确定你能做些什么来防止它发生,但这可能会帮助你至少更换它。此方法使用登录脚本,但您应该能够使用wix

实现此方法
  

Windows 7任务栏固定图标存储在以下位置

     

文件系统:%APPDATA%\ Microsoft \ Internet Explorer \ Quick Launch \ User   被钉扎\任务栏

     

注册表:   [HKEY_CURRENT_USER \软件\微软\的Windows \ CurrentVersion \ Explorer中\ Taskband]   要部署它,您可以执行以下步骤:

     
      
  1. 将Windows 7系统上的固定项目配置为参考计算机。
  2.   
  3. 将Reigtry Key导出到pinned.reg文件:[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Taskband]   并复制“%APPDATA%\ Microsoft \ Internet Explorer \ Quick”中的项目   将\ User Pinned \ TaskBar“启动到共享文件夹。

  4.   
  5. 创建登录脚本以部署注册表项并复制相应的文件。请注意   “%APPDATA%\ Microsoft \ Internet Explorer \ Quick Launch \ User Pinned”   只有在用户将图标固定到任务栏后才会创建文件夹。   在登录脚本中,您需要创建   “%APPDATA%\ Microsoft \ Internet Explorer \ Quick Launch \ User   固定\ TaskBar“文件夹(如果它不存在。

  6.   

来源:http://social.technet.microsoft.com/Forums/windowsserver/en-US/d172b4de-be7c-4149-8958-bebfe042ade1/forum-faq-how-to-deploy-windows-7-taskbar-pinned-icons-by-group-policy?forum=winserverGP