Как передать установочное место по умолчанию в загрузчик RtfLicense?
Я использую стандартный загрузчик rtflicence для установки dotnet перед моим программным обеспечением msi в цепочке.
Я заметил, что есть кнопка "options", которая отображает диалог установки местоположения и позволяет пользователю изменять каталог установки по умолчанию.
Мне нужно:
- Запретить отображение этой кнопки параметров или
- Заполните расположение установки с помощью пути по умолчанию и передайте его обратно установщику, если пользователь изменит его.
Я прочитал, что можно передать Burn-переменные в msipackages из bootstrapper, но я не нашел никаких дополнительных подробностей и хотел бы, чтобы их указали в правильном направлении.
Спасибо
Ответы
Ответ 1
Чтобы перейти с параметром 1, вам придется свернуть свой собственный BootstrapperApplication и удалить кнопку параметров из меню.
Вариант второй значительно проще реализовать. Загрузочный носитель использует специальную переменную Burn, называемую InstallFolder
, чтобы получить и установить то, что находится в текстовом блоке в этом представлении, которую вы можете назначить внутри элемента Bundle
.
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]"/>
Константа ProgramFilesFolder
будет устанавливать значение этого текстового блока при запуске программы, и если пользователь просматривает другой каталог, он будет сохранен в той же переменной. Чтобы передать его в MSI, в вашей цепочке вы передаете InstallFolder
с помощью тега MsiProperty
(INSTALLLOCATION
- это имя свойства в вашем проекте WiX).
<MsiPackage Vital="yes" DisplayName="Your Name" Id="MsiId" SourceFile="path/to/file.msi">
<MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]" />
</MsiPackage>
Ответ 2
Я только что открыл опцию SuppressOptionsUI, которая обращается к вашему Варианту 1, не перевернув свою собственную BootstrapperApplication:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle>
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication LicenseFile="..\eula.rtf" SuppressOptionsUI="yes"/>
</BootstrapperApplicationRef>
<Chain>
</Chain>
</Bundle>
</Wix>
Ответ 3
Я думаю, вы можете попробовать удалить кнопку параметров, создав тему. Мне не пришлось самим использовать темы, но здесь есть две связанные ссылки SO, которые могут заставить вас указать в этом направлении:
Файл темы загрузочного файла WiX?
Тема для моего установщика WiX