2010-10-06 3 views
2

У меня возникли проблемы с настройкой рабочего каталога ярлыка, созданного как часть скрипта WiX. Вот основные:Настройка рабочего каталога для ярлыка 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> 

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

ответ

6

Вам не нужно указывать [УСТАНОВКА], потому что таблица 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

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

+0

На самом деле это очень сработало - я думаю, вы намеревались иметь ярлык, вложенный в элемент файла. Благодаря! –

+1

На самом деле я неправильно вложил его. Правильно не быть дочерним элементом Файла, потому что в качестве объявленного ярлыка он указывает на ключевой файл компонента. См. Этот пример: http://iswix.codeplex.com/SourceControl/changeset/view/53668#841603 –

0

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

+0

Пробовал уже, это не имеет никакого значения. –

Смежные вопросы