Ярлыки WiX не обнаруживают файлы в каталоге приложений - PullRequest
0 голосов
/ 24 сентября 2018

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

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

Вот как выглядит мой компонент:

<Component Id="MyApp.exe" Guid="G-U-I-D">
    <File Id="MyApp.exe" Name="MyApp.exe" Source="$(var.MyApp_TargetDir)MyApp.exe">
      <Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="My Application" Icon="Icon.ico" Advertise="yes" />
      <Shortcut Id="StartMenuShortcut" Directory="ProgramMenuFolder" Name="My App" Icon="Icon.ico" Advertise="yes" />
    </File>
</Component>

1 Ответ

0 голосов
/ 24 сентября 2018

ОБНОВЛЕНИЕ : Если я правильно понимаю ваш комментарий, мне интересно, если вы просто не установите атрибут ярлыка WorkingDirectory?

Образец разметки WiX :

<Directory Id="MyDir" Name="My Dir">

  <Component Id="My.exe" Feature="Main">
    <File Source="My.exe">
      <Shortcut Id="DesktopShortcut"
                Directory="DesktopFolder"
                Name="My Product"
                Advertise="yes"

                WorkingDirectory="MyDir">
       </Shortcut>
    </File>
  </Component>

</Directory>

Свойства ярлыка :

Shortcut Properties


Если это файл настроек, который вы намереваетесь записать, вам следует поместить его в профиль пользователя, чтобы он был доступен для записи для запускающего пользователя.Ваш application.exe файл должен быть в состоянии найти файл конфигурации независимо от того, находится ли он в папке установки вашего приложения или в профиле пользователя?

C # mockup (должениспользуйте Path.Combine, но это только для иллюстрации):

string filepath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\MyFolder\MyFile.xml";

Есть ли конкретная необходимость указывать путь к файлу в ярлыках?


Некоторые ссылки :

...