Как я могу использовать свойства Wix

Я работаю с Wix v4 создать пакет MSI. У меня была проблема, что я должен установить свойство в CustomAction (C#) в начале установки.

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

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">

<Property Id="ANUMMER" Value="A2000-0000" />

<Binary Id='CustomActionReadConfig' SourceFile='...'/>

<InstallUISequence>
  <!-- Set the property over session["ANUMMER"] = "..." -->
  <Custom Action="CustomActionReadConfig" Before="AppSearch" />
</InstallUISequence>

В INI-файле нет проблем

    <IniFile Id="Programm.ini" Action="createLine" Key="ANUMMER" Name="Programm.ini" Section="Programm" Value="[ANUMMER]" Directory="Dir" />

Для каталога я нашел следующий обходной путь

<SetDirectory Action="SetApplicationFolder" Id="APPLICATIONFOLDER" Value="[ProgramFilesFolder]\[COMPANYNAME]\[MYPROGRAMM]\[ANUMMER]"  Sequence="ui"/>

Но ярлыки могут использовать его, и я не нашел обходного пути

<Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="Programm [ANUMMER]" WorkingDirectory="Dir" Advertise="yes" Icon="DesktopIcon.exe" IconIndex="0" />
    <Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="Programm" WorkingDirectory="Dir" Advertise="yes" Icon="StartMenuIcon.exe" IconIndex="0">
      <ShortcutProperty Key="Name" Value="Programm [ANUMMER]"/>
    </Shortcut>

Как это, мне нужно это свойство в некоторых дальнейших случаях. Я использую это неправильно, или я должен использовать специальную комбинацию спасения? Не могу ли я использовать свойства в атрибутах имени? Есть ли другой способ использовать входные данные как переменную, которую я могу установить в CustomAction? Или в чем основная проблема, что я не могу использовать такое свойство во время выполнения таким способом?

Спасибо за помощь

1 ответ

Решение

После поиска дополнительных опций я нашел причину проблемы для этого в другом вопросе здесь: Динамическое назначение имени для ярлыка во время выполнения в WIX

Значение свойства можно использовать в формате Formatted. Я хотел использовать его в LongFileNameType (простой тип) или в строках.

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

Информация: Значение также может быть переменной локализации в формате!(Loc.VARIABLE).

Другие вопросы по тегам