Передача аргументов командной строки в MsiPackage

Технология установщика Visual Studio создает загрузчик, который может принимать аргументы (например, /q) и передавать их в Msi.

У меня есть собственный загрузчик в WiX, в котором есть несколько ExePackages и один MsiPackages.

Когда я передаю аргумент в WiX пользовательскому загрузчику, отображается пользовательский интерфейс.

Как я могу передать аргумент непосредственно в MsiPackage, если ExePackage уже установлены?


person Ranjith Venkatesh    schedule 02.09.2013    source источник


Ответы (1)


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

<Wix>
  <Bundle> 
    <Variable Name="CommandLineArgument" bal:Overridable="yes"/>
    <Chain>
      <MsiPackage>
        <MsiProperty Name="CommandLineArgument" Value="[CommandLineArgument]"/>
      </MsiPackage>
    </Chain>
  </Bundle>
</Wix>

Запишите BAL: Overridable. Вот как я смог убедиться, что мы можем передать значение свойства из командной строки.

person Isaiah4110    schedule 03.09.2013
comment
Не забудьте добавить объявление пространства имен в элемент Wix xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" и ссылку на WixBalExtension.dll. - person Dave Andersen; 04.09.2013