Как передать установочное место по умолчанию в загрузчик 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