Отказ от ответственности: Я был вынужден перебросить корабль из моего любимого проверенного проекта VS Setup в WIX по требованию проекта, который, насколько мне известно, VS Setup Project не может выполнить (как описано here). Таким образом, я действительно, действительно новичок в WIX, поэтому это, вероятно, очень «вопрос».Возможно ли использовать один и тот же компонент (ярлык) в нескольких местах с помощью WIX?
Пытаясь сделать это медленно, я изучаю, как создавать ярлыки для основного исполняемого файла на рабочем столе и в меню Program Files. Я нашел, как создать компонент, и воткнул его в ComponentGroup, который будет содержать основные файлы (возможно неверное движение сразу), так это то, что я до сих пор:
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
<Component Id="CMP_FooSetup">
<File Id="FILE_Foo.exe" Source="$(var.Foo.TargetPath)" KeyPath="yes"/>
</Component>
<Component Id="ApplicationShortcut">
<Shortcut
Id="FooShortcut"
Name="Foo"
Description="Foos your Bar."
Target="[#FILE_Foo.exe]"
WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
<RegistryValue
Root="HKCU"
Key="Software\FooCompany\Foo"
Name="installed" Type="integer" Value="1"
KeyPath="yes"/>
<RemoveFile Id="RemoveFooShortcut" Name="Foo.lnk" On="uninstall"/>
</Component>
</ComponentGroup>
Я хочу один ярлык для перехода на рабочий стол, а другой - в ярлык меню программы. С этой целью я определил следующие структуры папок:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="FooBar">
<!--This is where a shortcut should be placed. How? -->
</Directory>
</Directory>
<Directory Id="DesktopFolder">
<!--This is where a shortcut should be placed. How? -->
</Directory>
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLPARENT" Name="FooBar">
<Directory Id="INSTALLFOLDER" Name="Foo"/>
</Directory>
</Directory>
</Directory>
Все в моих костях и опыт работы в качестве программиста (ограниченного, хотя это может быть) кричит «Эй, я должен быть в состоянии использовать идентификатор Компонент ярлыка в структурах каталогов, чтобы проинструктировать установщика о создании этих ярлыков! », Но я не знаю, как это сделать. Похоже, он должен быть довольно рудиментарным, но мой поиск ничего не изменил.
Возможно ли это? Если так; как? Если не; что я должен сделать, чтобы сделать эту работу?
Пожалуйста, будьте добры ...
Отвечая на вопрос название для точки зрения, компонент является членом одной _or more_ Особенности. –