3

将我的 WXS 数据构建到 MSI 中时,出现以下错误:

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

这让我很困惑,因为我的项目设置为每台机器安装,所以据我了解,它应该安装到“C:\Users\All Users”或“C:\Users\Default”而不是实际用户轮廓。我已经尝试了几种不同的方法来说明它是每台机器的安装,但它们都不起作用。任何想法将不胜感激。我难住了!

为了使其成为每台机器,我(分别)尝试了这两种设置,但都没有奏效。

<Property Id="ALLUSERS" Value="2" />

<Package InstallScope="perMachine" ... />

编辑: CreateFolder 的代码

            <Directory Id="AdminToolsFolder" SourceName="Admin Tools">
                <Component Id="CreateFolder" Guid="{452A617E-XXXX-XXXX-XXXX-3710802B3BBD}" KeyPath="yes">
                    <CreateFolder Directory="AdminToolsFolder" />
                </Component>
            </Directory>
4

2 回答 2

3

不久前我写了一个解决这个问题的方法:http ://robmensching.com/blog/posts/2007/4/27/How-to-create-an-uninstall-shortcut-and-pass-all-the 。

于 2010-07-24T17:13:40.407 回答
-1

如果要创建快捷方式,可以使用以下Shortcut元素:

<Directory Id="AdminToolsFolder" SourceName="Admin Tools">
  <Component Id="MyShortcuts" Guid="<guid value>">
    <Shortcut Id="Shortcut_MyAdminTool" Directory="AdminToolsFolder"
              Name="My Admin Tool" Target="[#AdminTool]"
              Show="normal" WorkingDirectory="TARGETDIR" />
  </Component>
</Directory>
于 2010-07-23T11:16:37.377 回答