如何在WIX中为所有用户创建桌面快捷方式

21

我正在使用WIX编写MSI安装程序,我可以为一个用户在桌面上创建快捷方式。现在我该怎么做才能为机器上的所有用户创建快捷方式?请指教。谢谢。

<Shortcut Id="desktopshortcut" Directory="DesktopFolder" Name="test" 
          WorkingDirectory='INSTALLDIR' Advertise="yes" />

1
您是在哪个上下文中安装?是每个用户还是每台机器? - Dirk Vollmar
2个回答

24

通过声明 Package/@InstallScope='perMachine',你可以让WiX自动设置ALLUSERS=1...例如:

<Package Description="!(loc.Package_Description) $(var.version)"
   Comments="!(loc.Package_Comments)"
   Manufacturer="!(loc.ManufacturerName)"
   InstallerVersion="301"
   Compressed="yes"
   InstallPrivileges="elevated"
   InstallScope="perMachine"
   Platform="$(var.ProcessorArchitecture)" />

4
对于那些看到这篇文章的用户,我认为需要提供更多背景信息。 ALLUSERS 影响安装设置中的许多内容,其中大部分我认为是违反直觉且有害的。请阅读MSI Installation Context以了解何时针对每个用户进行安装时哪些文件夹会被重定向,并了解其他需要注意的事项。同时,请查看 ALLUSERS property 的文档。 - Stein Åsmul

2

设置ALLUSERS=1,以便安装程序将DesktopFolder属性指向公共桌面,而不是安装用户的桌面。


谢谢回答,但似乎不起作用。我把它添加到我的代码中后,它说ALLUSERS属性未声明。我还需要添加其他内容吗?非常感谢! - Ray
请确保在您的产品下添加<Property Id="ALLUSERS">1</Property>。 - Daniel Morritt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接