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

use*_*062 14 installation installer taskbar wix windows-7

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

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

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

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

谢谢.

Iva*_*kov 5

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

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

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

    <InstallExecuteSequence>
      <RemoveShortcuts>0</RemoveShortcuts>
    </InstallExecuteSequence>
    
    Run Code Online (Sandbox Code Playgroud)
  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>
    
    Run Code Online (Sandbox Code Playgroud)

它似乎工作正常。


Mik*_*ard 5

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

<InstallExecuteSequence>
  <RemoveShortcuts>Installed AND NOT UPGRADINGPRODUCTCODE</RemoveShortcuts>
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

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


Jus*_*ess -2

我不确定你可以采取什么措施来防止它发生,但这至少可以帮助你更换它。此方法使用登录脚本,但您应该能够使用 wix 实现此方法

\n\n
\n

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

\n\n

文件系统:%APPDATA%\\Microsoft\\Internet Explorer\\快速启动\\用户\n固定\\任务栏

\n\n

注册表:\n [HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Taskband]\n 要部署它,您可以执行以下步骤:

\n\n
    \n
  1. 将 Windows 7 系统上的固定项目配置为参考计算机。
  2. \n
  3. 将注册表项导出到 pinned.reg 文件: [HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Taskband]\n 并复制“%APPDATA%\\Microsoft\\Internet Explorer\\”中的项目快速\n启动\\用户固定\\任务栏”到共享文件夹。

  4. \n
  5. 创建登录脚本来部署注册表项并复制相应的文件。请注意,\n \xe2\x80\x9c%APPDATA%\\Microsoft\\Internet Explorer\\Quick Launch\\User Pinned\xe2\x80\x9d\n 文件夹仅在用户将图标固定到\n 在登录脚本中,您需要创建\n \xe2\x80\x9c%APPDATA%\\Microsoft\\Internet Explorer\\Quick Launch\\User\n Pinned\\TaskBar\xe2\ x80\x9d 文件夹(如果不存在)。

  6. \n
\n
\n\n

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

\n