2014-12-08 7 views
0

사용자가 처음 선택한 업데이트 중에 동일한 모듈을 설치해야합니다. wix에 대한 매개 변수를 전달하려고 시도했지만 https://stackoverflow.com/questions/27291103/to-start-process-passing-parameters-to-wix-installer에 실패했습니다.번들을 통해 msi에 매개 변수를 전달하는 방법

명령 줄에서 msi로 매개 변수를 전달하기 위해 부트 스트 래퍼에 변수를 추가했습니다. 하지만 제대로 작동하지 않습니다.

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

속성은 기본적으로 1을 변경 : 코드는 번들에 추가.

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"> 

으로 나는 또한이 내가이 명령을 사용하고 (라디오 버튼)

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

UI에서 설정 될 수있다 말해야한다 내가 이해할 수있는 매개 변수가 전달되지 않습니다 .... 어떻게 해결할 수 있습니까?

답변

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가 있습니다. 어떤 마법이 뭔지 모르지만 도움이되었습니다. 어쨌든 도움을 주셔서 감사합니다. – Lili

관련 문제