Hi, I am trying to install MSI from Bootstrapper. Install location for that msi should be specified from the text box in Bootstrapper UI. I followed this below example. in this example I added a text box for getting install location and I added below code pieces,and MyBurnVariable1 gets the value from the textbox when bootstrapper is loaded for first time through Run method, After the bootstrapper is loaded if I change text box value then start to run the msi MyBurnVariable1 is not assigned with text box value because Run method is not executed now, what should I do to resolve this? I am following the below example. http://bryanpjohnston.com/2012/09/28/custom-wix-managed-bootstrapper-application/
View <TextBox Height="23" HorizontalAlignment="Left" Margin="153,65,0,0" Name ="textBox2" VerticalAlignment="Top" Width="120" Text="{Binding Path =InstallPath, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/> ViewModel private string installPath; public string InstallPath { get { return installPath; } set { installPath = value; RaisePropertyChanged("InstallPath"); } } Bundle <Variable Name="MyBurnVariable1" bal:Overridable="yes" Type="string" Value=" C:\Myfolder" /> <Chain> <PackageGroupRef Id='Netfx4Full' /> <MsiPackage SourceFile=" ..\DummyInstaller\bin\Release\DummyInstaller.msi" Id=" DummyInstallationPackageId" Cache="yes" Visible="no" > <MsiProperty Name="INSTALLFOLDER" Value="[MyBurnVariable1]" /> </MsiPackage> </Chain> BA public class TestBA : BootstrapperApplication { // global dispatcher static public Dispatcher BootstrapperDispatcher { get; private set; } // entry point for our custom UI protected override void Run() { this.Engine.Log(LogLevel.Verbose, "Launching custom TestBA UX"); BootstrapperDispatcher = Dispatcher.CurrentDispatcher; MainViewModel viewModel = new MainViewModel(this); viewModel.Bootstrapper.Engine.Detect(); MainView view = new MainView(); view.DataContext = viewModel; viewModel.Bootstrapper.Engine.StringVariables["MyBurnVariable1"] = viewModel.InstallPath; this.Engine.Log(LogLevel.Verbose, "My String from view: " + view.textBox2.Text); this.Engine.Log(LogLevel.Verbose,"My String from view model: "+ viewModel.InstallPath); view.Closed += (sender, e) => BootstrapperDispatcher.InvokeShutdown(); view.Show(); Dispatcher.Run(); this.Engine.Quit(0); } } Log details [1DB0:34C4][2013-07-17T17:36:06]i000: Setting string variable 'WixBundleName' to value 'My Test Application' [1DB0:34C4][2013-07-17T17:36:06]i000: Loading managed bootstrapper application. [1DB0:34C4][2013-07-17T17:36:06]i000: Creating BA thread to run asynchronously. [1DB0:2858][2013-07-17T17:36:06]i000: Launching custom TestBA UX [1DB0:34C4][2013-07-17T17:36:06]i100: Detect begin, 2 packages [1DB0:34C4][2013-07-17T17:36:06]i000: Setting string variable 'Netfx4x64FullVersion' to value '4.0.30319' [1DB0:34C4][2013-07-17T17:36:06]i000: Setting string variable 'Netfx4FullVersion' to value '4.0.30319' [1DB0:34C4][2013-07-17T17:36:06]i052: Condition 'Netfx4FullVersion AND (NOT VersionNT64 OR Netfx4x64FullVersion)' evaluates to true. [1DB0:34C4][2013-07-17T17:36:06]i101: Detected package: Netfx4Full, state: Present, cached: None [1DB0:34C4][2013-07-17T17:36:06]i101: Detected package: DummyInstallationPackageId, state: Absent, cached: None [1DB0:34C4][2013-07-17T17:36:06]i199: Detect complete, result: 0x0 [1DB0:2858][2013-07-17T17:36:07]i000: Unsetting variable 'MyBurnVariable1' [1DB0:2858][2013-07-17T17:36:07]i000: My String from view: [1DB0:2858][2013-07-17T17:36:07]i000: My String from view model: [1DB0:34C4][2013-07-17T17:36:11]i200: Plan begin, 2 packages, action: Install [1DB0:34C4][2013-07-17T17:36:11]w321: Skipping dependency registration on package with no dependency providers: Netfx4Full [1DB0:34C4][2013-07-17T17:36:11]i000: Setting string variable 'WixBundleRollbackLog_DummyInstallationPackageId' to value 'C:\Users\Guest\AppData\Local\Temp\My_Test_Application_20130717173605_0_DummyInstallationPackageId_rollback.log' [1DB0:34C4][2013-07-17T17:36:11]i000: Setting string variable 'WixBundleLog_DummyInstallationPackageId' to value 'C:\Users\Guest\AppData\Local\Temp\My_Test_Application_20130717173605_0_DummyInstallationPackageId.log' [1DB0:34C4][2013-07-17T17:36:11]i201: Planned package: Netfx4Full, state: Present, default requested: Present, ba requested: Present, execute: None, rollback: None, cache: No, uncache: No, dependency: None [1DB0:34C4][2013-07-17T17:36:11]i201: Planned package: DummyInstallationPackageId, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register [1DB0:34C4][2013-07-17T17:36:11]i299: Plan complete, result: 0x0 [1DB0:34C4][2013-07-17T17:36:11]i300: Apply begin Thanks for your help and time!! Regards, Rahul ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users