Проблема установки на каждый компьютер с профилем пользователя - PullRequest
3 голосов
/ 23 июля 2010

При построении моих данных 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>

Ответы [ 2 ]

4 голосов
/ 24 июля 2010

Я написал решение этой проблемы некоторое время назад: http://robmensching.com/blog/posts/2007/4/27/How-to-create-an-uninstall-shortcut-and-pass-all-the.

0 голосов
/ 23 июля 2010

Если вы хотите создать ярлык, вы можете использовать элемент 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>
...