Настройка рабочего каталога для ярлыка WiX - PullRequest
3 голосов
/ 07 октября 2010

У меня проблемы с установкой рабочего каталога ярлыка, созданного как часть скрипта WiX.Вот основы:

<!-- create a start menu shortcut. -->
<Directory Id="ProgramMenuFolder">
  <Directory Id="ApplicationProgramsFolder" Name="My Name">
    <Component Id="ApplicationShortcut" Guid="822A26AF-5231-4EDA-A18D-5DF15020BD94">
      <Shortcut Id="ApplicationStartMenuShortcut"
                Name="My Name"
                Description="My Description"
                Target="[INSTALLLOCATION]My.exe"
                WorkingDirectory="INSTALLLOCATION" />
      <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
    </Component>
  </Directory>
</Directory>

<!-- Install the app. -->
<Directory Id="ProgramFilesFolder">
  <Directory Id="INSTALLLOCATION" Name="My Name">
    <Component Id="ProductComponent" Guid="4740357A-69D3-4626-A0F7-D0667C93A2CE">
      <File Id="My.exe" Name="My.exe" Source="My.exe" />
    </Component>
  </Directory>
</Directory>

Этот файл содержит примеры, которые я видел, и ярлык создается, и он указывает на правильный exe, но ярлык не имеет рабочего каталога, указанного, и поэтому приложениене находит свои локальные ресурсы.

Ответы [ 2 ]

6 голосов
/ 07 октября 2010

Вам не нужно говорить [INSTALLLOCATION], потому что таблица ShortCut определяет столбец WkDir, описывающий «Имя свойства, в котором указан путь к рабочему каталогу для ярлыка».

Я бы рекомендовалпробуя это:

<Directory Id="ProgramMenuFolder"> 
  <Directory Id="ApplicationProgramsFolder" Name="My Name"> 
  </Directory> 
</Directory> 

<!-- Install the app. --> 
<Directory Id="ProgramFilesFolder"> 
  <Directory Id="INSTALLLOCATION" Name="My Name"> 
    <Component Id="ProductComponent" Guid="4740357A-69D3-4626-A0F7-D0667C93A2CE"> 
      <File Id="My.exe" Name="My.exe" Source="My.exe" />
        <Shortcut Id="ApplicationStartMenuShortcut" 
                  Advertise="yes"
                  Name="My Name" 
                  Description="My Description" 
                  Directory="ApplicationProgramsFolder"
                  WorkingDirectory="INSTALLLOCATION">
          <Icon Id="My.exe" SourceFile="My.exe" />
        <Shortcut>
    </Component> 
  </Directory> 
</Directory> 
0 голосов
/ 07 октября 2010

Я думаю, вам нужны квадратные скобки вокруг вашей INSTALLLOCATION в атрибуте рабочего каталога.

...