[wix-users] Managed BA with custom UI

Sean Hall r.sean.hall at gmail.com
Thu Dec 10 14:31:42 PST 2015


Is the BA really targeting .NET 3.0?  That's unusual, I would expect it's
actually targeting .NET 3.5.  In which case you would modify the
BootstrapperCore.config to change the supportedFramework from 3.0 to 3.5.

By the way, you can't assume .NET v3 is installed on Vista or later.  Win8
and later only have .NET 4.x installed by default, .NET v3 is a feature
that has to be installed.

On Thu, Dec 10, 2015 at 2:15 PM, Goran Malovic <malovicg at yahoo.com> wrote:

> How can I tell managed BA to run on specific framework version?
> - I have an msi which needs installs software that is build on framework
> v4.5- I have a managed BA which is set to install framework v4.5 and this
> msi (chain)- BA custom UI is build on framework v3.0
>
> Since we are installing framework v4.5, that means that we support Vista
> or later OS.This means that on each operating system at least framework v3
> will already be installed.For this reason I have set BA custom UI project
> to target framework v3, so that BA does not need to install framework as
> prerequisite.
>   <startup useLegacyV2RuntimeActivationPolicy="true">
>     <supportedRuntime version="v2.0.50727" />
>     <supportedRuntime version="v4.0" />
>   </startup>
>   <wix.bootstrapper>
>     <host assemblyName="CustomBootstrapperUI">
>       <supportedFramework version="v3.0" />
>       <supportedFramework version="v4\Client" />
>       <supportedFramework version="v4\Full" />
>     </host>
>   </wix.bootstrapper>
>
> This configuration does not trigger framework installation as
> prerequisite, and it shows my custom BA.The problem is, when I get to the
> point of executing the actual installation
> (->PlanAction(LaunchAction.Install)), app crashes. However, it successfully
> completes installation if I remove this line.:
>     <supportedRuntime version="v2.0.50727" />
> But in this case it does it by installing framework v4.5 using BA
> prerequsite window, which I want to avoid.
> So, question is: how can I make BA to use framework v3, while avoiding the
> application crash?
>
> When my installer crashes I get a: MyApp has stopped working (Check online
> / Close)
>   Problem Event Name:    CLR20r3
>   Problem Signature 01:    setup.exe
>   Problem Signature 02:    1.3.5810.1026
>   Problem Signature 03:    561d8cdc
>   Problem Signature 04:    PresentationFramework
>   Problem Signature 05:    3.0.0.0
>   Problem Signature 06:    470bc696
>   Problem Signature 07:    660b
>   Problem Signature 08:    e1
>   Problem Signature 09:    System.Windows.Markup.XamlParse
>   OS Version:    6.0.6001.2.1.0.256.1
>   Locale ID:    1033
>
> Here is installer log file:
> [0A7C:0A80][2015-12-10T20:47:51]i001: Burn v3.10.1.2213, Windows v6.0
> (Build 6001: Service Pack 1), path: \\VBOXSVR\ApplicationSetup\Setup.exe
> [0A7C:0A80][2015-12-10T20:47:51]i000: Initializing string variable
> 'InstallFolder' to value '[ProgramFilesFolder]Test
> App'[0A7C:0A80][2015-12-10T20:47:51]i009: Command Line: ''
> [0A7C:0A80][2015-12-10T20:47:51]i000: Setting string variable
> 'WixBundleLog' to value
> 'C:\Users\use512\AppData\Local\Temp\Test_App_20151210204751.log'[0A7C:0A80][2015-12-10T20:47:51]i000:
> Setting string variable 'WixBundleOriginalSource' to value
> '\\VBOXSVR\ApplicationSetup\Setup.exe'[0A7C:0A80][2015-12-10T20:47:51]i000:
> Setting string variable 'WixBundleOriginalSourceFolder' to value
> '\\VBOXSVR\ApplicationSetup\'[0A7C:0A80][2015-12-10T20:47:51]i000: Setting
> string variable 'WixBundleName' to value 'Test
> App'[0A7C:0A80][2015-12-10T20:47:51]i000: Setting string variable
> 'WixBundleManufacturer' to value
> 'TestCompany'[0A7C:0A80][2015-12-10T20:47:52]i000: Loading managed
> bootstrapper application.
> [0A7C:0A80][2015-12-10T20:47:53]i000: Creating BA thread to run
> asynchronously.
> [0A7C:0A80][2015-12-10T20:47:55]i100: Detect begin, 2 packages
> [0A7C:0A80][2015-12-10T20:47:55]i000: Registry key not found. Key =
> 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'
> [0A7C:0A80][2015-12-10T20:47:55]i052: Condition 'NETFRAMEWORK45 >= 378389'
> evaluates to false.
> [0A7C:0A80][2015-12-10T20:47:55]i101: Detected package: NetFx45Redist,
> state: Absent, cached: None
> [0A7C:0A80][2015-12-10T20:47:55]i101: Detected package: MainPackage,
> state: Absent, cached: None
> [0A7C:0A80][2015-12-10T20:47:55]i199: Detect complete, result: 0x0
> [0A7C:0AA0][2015-12-10T20:48:02]i000: Setting string variable
> '[InstallFolder]' to value 'C:\Program Files\Test
> App'[0A7C:0A80][2015-12-10T20:48:05]i200: Plan begin, 2 packages, action:
> Install
> [0A7C:0A80][2015-12-10T20:48:05]w321: Skipping dependency registration on
> package with no dependency providers: NetFx45Redist
> [0A7C:0A80][2015-12-10T20:48:05]i000: Setting string variable
> 'NetFx45FullLog' to value
> 'C:\Users\use512\AppData\Local\Temp\Test_App_20151210204751_000_NetFx45Redist.log'[0A7C:0A80][2015-12-10T20:48:05]i000:
> Setting string variable 'WixBundleRollbackLog_MainPackage' to value
> 'C:\Users\use512\AppData\Local\Temp\Test_App_20151210204751_001_MainPackage_rollback.log'[0A7C:0A80][2015-12-10T20:48:05]i000:
> Setting string variable 'WixBundleLog_MainPackage' to value
> 'C:\Users\use512\AppData\Local\Temp\Test_App_20151210204751_001_MainPackage.log'[0A7C:0A80][2015-12-10T20:48:05]i201:
> Planned package: NetFx45Redist, state: Absent, default requested: Present,
> ba requested: Present, execute: Install, rollback: None, cache: Yes,
> uncache: No, dependency: None
> [0A7C:0A80][2015-12-10T20:48:05]i201: Planned package: MainPackage, state:
> Absent, default requested: Present, ba requested: Present, execute:
> Install, rollback: Uninstall, cache: Yes, uncache: No, dependency:
> Register[0A7C:0A80][2015-12-10T20:48:05]i299: Plan complete, result: 0x0
> [0A7C:0A80][2015-12-10T20:48:05]i300: Apply begin
> [0A7C:0A80][2015-12-10T20:48:05]i010: Launching elevated engine process.
> [0A7C:0A80][2015-12-10T20:48:10]i011: Launched elevated engine process.
> [0A7C:0A80][2015-12-10T20:48:10]i012: Connected to elevated engine.
> [0C2C:0C30][2015-12-10T20:48:10]i358: Pausing automatic updates.
> [0C2C:0C30][2015-12-10T20:48:11]i359: Paused automatic updates.
> [0C2C:0C30][2015-12-10T20:48:11]i360: Creating a system restore point.
> [0C2C:0C30][2015-12-10T20:48:22]i361: Created a system restore point.
> [0C2C:0C30][2015-12-10T20:48:22]i370: Session begin, registration key:
> SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}, options: 0x7,
> disable resume: No
> [0C2C:0C30][2015-12-10T20:48:22]i000: Caching bundle from:
> 'C:\Users\use512\AppData\Local\Temp\{GUID}\.be\Setup.exe' to:
> 'C:\ProgramData\Package Cache\{GUID}\Setup.exe'
> [0C2C:0C30][2015-12-10T20:48:22]i320: Registering bundle dependency
> provider: {GUID}, version: 1.3.5810.1026
> [0C2C:0C30][2015-12-10T20:48:22]i371: Updating session, registration key:
> SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}, resume: Active,
> restart initiated: No, disable resume: No
> [0A7C:0DE4][2015-12-10T20:48:22]i338: Acquiring package: NetFx45Redist,
> payload: NetFx45Redist, copy from:
> \\VBOXSVR\ApplicationSetup\redist\dotNetFx45_Full_x86_x64.exe
> [0A7C:0DE4][2015-12-10T20:48:23]i000: Setting string variable
> 'WixBundleLastUsedSource' to value
> '\\VBOXSVR\ApplicationSetup\'[0C2C:0C40][2015-12-10T20:48:24]i305: Verified
> acquired payload: NetFx45Redist at path: C:\ProgramData\Package
> Cache\.unverified\NetFx45Redist, moving to: C:\ProgramData\Package
> Cache\B2FF712CA0947040CA0B8E9BD7436A3C3524BB5D\redist\dotNetFx45_Full_x86_x64.exe.
> [0A7C:0DE4][2015-12-10T20:48:24]i338: Acquiring package: MainPackage,
> payload: MainPackage, copy from:
> \\VBOXSVR\ApplicationSetup\TestApp.msi[0C2C:0C40][2015-12-10T20:48:24]i305:
> Verified acquired payload: MainPackage at path: C:\ProgramData\Package
> Cache\.unverified\MainPackage, moving to: C:\ProgramData\Package
> Cache\{GUID}v1.3.5810.1026\TestApp.msi.[0C2C:0C30][2015-12-10T20:48:24]i301:
> Applying execute package: NetFx45Redist, action: Install, path:
> C:\ProgramData\Package
> Cache\B2FF712CA0947040CA0B8E9BD7436A3C3524BB5D\redist\dotNetFx45_Full_x86_x64.exe,
> arguments: '"C:\ProgramData\Package
> Cache\B2FF712CA0947040CA0B8E9BD7436A3C3524BB5D\redist\dotNetFx45_Full_x86_x64.exe"
> /q /norestart /ChainingPackage "Test App" /log
> "C:\Users\use512\AppData\Local\Temp\Test_App_20151210204751_000_NetFx45Redist.log.html"'
>
> And burn log created
> [0C2C:0C30][2015-12-10T20:48:10]i001: Burn v3.10.1.2213, Windows v6.0
> (Build 6001: Service Pack 1), path:
> C:\Users\use512\AppData\Local\Temp\{GUID1}\.be\Setup.exe
> [0C2C:0C30][2015-12-10T20:48:10]i000: Initializing string variable
> 'InstallFolder' to value '[ProgramFilesFolder]Test App'
> [0C2C:0C30][2015-12-10T20:48:10]i009: Command Line: '-q -burn.elevated
> BurnPipe.{GUID2} {GUID3} 2684'
> [0C2C:0C30][2015-12-10T20:51:44]e000: Error 0x800700e8: Failed to pump
> messages from parent process.
> [0C2C:0C30][2015-12-10T20:51:44]i420: Resuming automatic updates.
> [0C2C:0C30][2015-12-10T20:51:44]i421: Resumed automatic updates.
> [0C2C:0C30][2015-12-10T20:51:44]e000: Error 0x800700e8: Failed to run
> per-machine mode.
>
> Any help is appreciated.
>
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/



More information about the wix-users mailing list