Проблема установки на каждый компьютер с профилем пользователя
При построении моих данных 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>