gpt4 book ai didi

wix - 为所有用户安装可选的桌面快捷方式

转载 作者:行者123 更新时间:2023-12-03 17:52:32 25 4
gpt4 key购买 nike

我想制作一个 wix 安装程序,带有 可选所有用户的桌面快捷方式。可选手段,我不能把它放在component主 exe,但在单独的 component 中, 这样我就可以单独设置 feature为快捷方式。

这样做时,wix 提示:

error LGHT0204 : ICE38: Component DesktopShortcut installs to user profile. It must use a registry key under HKCU as its KeyPath, not a file.



所以我设置了一个额外的注册表项,如下所示:
<Component Id="DesktopShortcut"  Guid="767f3e19-9a7d-4793-9782-75516494a57c">
<Shortcut Target="[APPLICATIONROOTDIRECTORY]ocean.exe" Id="OceanShortcutDesktop" Name="$(var.ProductName)" WorkingDirectory='APPLICATIONROOTDIRECTORY' Icon="OceanIcon"/>
<RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]\installs' Name="desktopshortcut" Type='string' Value='' KeyPath='yes' />
</Component>

快捷方式进入“所有用户”,因为我设置了 ALLUSERS=1 属性。但是,注册表没有等效项,并且 key 位于当前(安装)用户注册表中。这是恕我直言的一个问题:如果用户配置文件被删除,则卸载时将不再删除快捷方式。

改用“HKLM”会导致 wix 出现错误(混合每个用户和每台机器):

error LGHT0204 : ICE38: Component DesktopShortcut installs to user profile. It's KeyPath registry key must fall under HKCU.



wix 这很愚蠢,因为“所有用户”组件应该链接到机器,而不是普通用户,因为没有“所有用户”注册表。

任何的想法?

最佳答案

您可以尝试将注册表根更改为“HKMU”(据我所知,当安装是每台机器时,它应该写入 HKEY_LOCAL_MACHINE,而不是在 HKEY_CURRENT_USER 下)。

如果您将根目录更改为“HKMU”,您将收到 ICE57 错误(组件“DesktopShortcut”既有每个用户的数据,也有一个可以是每个用户或每台机器的键路径。)

您可以抑制此错误,安装程序将创建所有用户快捷方式
(当我尝试它时它起作用了, 但我不确定这是不是最好的方法 )。

(要禁用 ICE57 错误,请参阅:How to fix ICE57.Per-User installation)

关于wix - 为所有用户安装可选的桌面快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17319466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com