Как я могу использовать свойства 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).