Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 7 Wix-安装时不要移除固定的任务栏_Windows 7_Wix_Installation_Taskbar - Fatal编程技术网

Windows 7 Wix-安装时不要移除固定的任务栏

Windows 7 Wix-安装时不要移除固定的任务栏,windows-7,wix,installation,taskbar,Windows 7,Wix,Installation,Taskbar,在安装或主要升级期间,如果用户已将应用程序固定到其任务栏上,则在安装完成后,任务栏快捷方式将从\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\user pinned\TaskBar中删除,并在其位置保留一个空白文件图标(请参见下面的图像链接)。单击图标将提示用户删除,因为它不针对任何内容 我希望在安装或运行主要升级时不会删除任务栏快捷方式。我们每周都会推出更新,如果任务栏快捷方式在每次更新过程中都会中断,这可能会令人沮丧 这可

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

我希望在安装或运行主要升级时不会删除任务栏快捷方式。我们每周都会推出更新,如果任务栏快捷方式在每次更新过程中都会中断,这可能会令人沮丧

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


谢谢。

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

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

文件系统:%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User 固定\任务栏

注册处: [HKEY\U CURRENT\U USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband] 要部署它,可以执行以下步骤:

  • 将Windows 7系统上的固定项目配置为参考计算机
  • 将Reigstry密钥导出到pinted.reg文件:[HKEY\U CURRENT\U USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband] 并复制“%APPDATA%\Microsoft\Internet Explorer\Quick”中的项目 启动\用户锁定\任务栏”到共享文件夹

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


  • 来源:

    我们遇到了这个问题,我们的调查显示,msiexec.exe在卸载或主要升级时删除相应的快捷方式时会显式删除固定项

    作为解决方案,我们做了以下工作:

  • 禁用的标准
    使用以下WiX代码删除短切操作:

    
    0
    
  • 为我们安装的每个快捷方式添加了显式的
    条目。例如:

    
    

  • 它似乎工作正常。

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

    <InstallExecuteSequence>
      <RemoveShortcuts>Installed AND NOT UPGRADINGPRODUCTCODE</RemoveShortcuts>
    </InstallExecuteSequence>
    
    
    已安装但未升级ProductCode
    

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

    找到解决方案了吗?我遇到了同样的问题,似乎在任何地方都找不到解决方案…@Uflex请查看我对我们在产品中使用的变通方法的回答。@Andreas请查看我对我们在产品中使用的变通方法的回答。@Uflex谢谢。这似乎比我选择的方法更优雅:我们使用带有emtpy guid的组件。我们在卸载时使用自定义操作删除快捷方式文件。在Windows 10上进行了测试,效果非常好!这应该是公认的答案。唯一的问题是,卸载时任务栏快捷方式不会自动删除,但这是我可以接受的。