Размещение нескольких ярлыков в установщике Wix - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь добавить несколько ярлыков в определенную папку с помощью Wix.Код выглядит следующим образом:

<DirectoryRef Id ="TARGETDIR">
    <Directory Id="DesktopFolder" Name="DesktopFolder">
      <Component Id="DesktopP" Guid="61AE5ABE-9ED2-43B0-98C4-3050A40BF061">
        <Shortcut Id="DesktopMyProgramShortcut" Name="$(var.MyProgramLabelShortcut)" Target="[#MyProgramcsproja015777b77a239eeb0bd49c2dafdbe31]" WorkingDirectory="bin"/>
        <RemoveFolder Id="DesktopFolder" On="uninstall"/>
        <RegistryValue Root="HKCU" Key="SOFTWARE\Example\Shortcuts" Name="167CE804-4A37-45B8-B010-EB6B3E73BE54" Type="string" Value="" KeyPath="yes"/>
      </Component>
    </Directory>
    <Directory Id="ProgramMenuFolder">
      <Directory Id ="ProgramMenuFolderMyProgram" Name ="$(var.MyProgramLabelShortcut)">
        <Component Id="ProgramMenuMyProgram" Guid="A7B4A27B-9367-4AFF-B8CC-D6651B18FBFD">
          <Shortcut Id="ProgramMenuMyProgramShortcut" Name="$(var.MyProgramLabelShortcut)" Target="[#MyProgramcsproja015777b77a239eeb0bd49c2dafdbe31]" WorkingDirectory="bin"/>
          <Shortcut Id="ProgramMenuMyProgramManual" Name="$(var.MyProgramLabelShortcut)" Target="[documents]" Icon="shell32.dll" IconIndex="45"/>
          <RemoveFolder Id="ProgramMenuFolderMyProgram" On="uninstall"/>
          <RegistryValue Root="HKCU" Key="SOFTWARE\Example\Shortcuts" Name="167CE804-4A37-45B8-B010-EB6B3E73BE54" Type="string" Value="" KeyPath="yes"/>
        </Component>
      </Directory>
    </Directory>
  </DirectoryRef>

Странное поведение в том, что, когда я пытаюсь разместить более одного ярлыка, добавляется только второй.Я попытался поместить Shortcut в отдельный Components, но все еще действует таким образом.В Windows7 работает отлично, кстати.

Есть какие-нибудь предложения о том, как это исправить?

Заранее спасибо!

1 Ответ

0 голосов
/ 10 июля 2018

Проблема была связана с названием ярлыков. Я предполагаю, что, поскольку их имена были равны, первый ярлык был заменен вторым. Я исправил это, изменив название второго ярлыка.

...