2014-12-08 5 views
0

Все, что мне нужно, это установить те же модули во время обновления, которые были выбраны пользователем в первый раз. Я пытался просто передать параметры для wix, но не смог https://stackoverflow.com/questions/27291103/to-start-process-passing-parameters-to-wix-installer.Как передать параметры в msi через комплект

Я добавил переменную в bootstrapper для передачи параметров из командной строки в msi. Но это не работает должным образом. код, добавил расслоение:

<Variable Name="INSTALL_SOFTWARE" bal:Overridable="yes"/> 
<MsiProperty Name="INSTALL_SOFTWARE" Value="[INSTALL_SOFTWARE]"/> 

недвижимости изменить, 1 по умолчанию. Я должен также сказать, что это может быть от Ui (радиокнопки)

<Property Id="INSTALL_SOFTWARE">1</Property> 

Я использую эту команду:

InstallerBundle.exe INSTALL_SOFTWARE=2 

И ничего не выбран в диалоговом окне GUI:

<Control Id="SoftwareChoseButton" Type="RadioButtonGroup" Width="55" Height="128" X="34" Y="71" Property="INSTALL_SOFTWARE"> 
       <RadioButtonGroup Property="INSTALL_SOFTWARE"> 

As Я могу понять, параметр не передан ... Как это исправить?

ответ

0

Я думаю, вам нужно только указать MsiProperty как это внутри пучка:

<MsiPackage Id='MyApp' Description='My Application' SourceFile="$(var.SetupMyApp.TargetPath)"> 
    <MsiProperty Name="INSTALLFOLDER" Value="[MyAppInstallLocation]"/> 
</MsiPackage> 

И тогда, если предположить myBootStrapper ваш BootstrapperApplication объект:

myBootstrapper.Engine.StringVariables["MyAppInstallLocation"] = "C:\MyApp"; 

где-то в пользовательском коде загрузчика, прежде чем вы начнете установку.

+0

У меня есть VsiProperty в комплекте. Я не знаю, что такое магия, но изменилась на help. В любом случае, спасибо вам за помощь. – Lili

Смежные вопросы