Проблема установки на каждый компьютер с профилем пользователя

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

Решение

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

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