I do think there is a feature request out ther for the preq BA to support installing more than one "prerequisite" package. Not implemented today.
On Wed, Feb 13, 2013 at 7:00 AM, Hoover, Jacob <jacob.hoo...@greenheck.com>wrote: > Burn only fails back to the MBA "prerequisite BA" if it can't create the > AppDomain it needs. Look at BootstrapperApplicationCreate in > src\ext\BalExtension\mba\host\host.cpp. > > Introducing additional dependencies for a BA seems wrong to me. If you are > using this custom dependency to modify machine state, you could accomplish > this by adding the dependency earlier in the chain and having a later > MsiPackage that could use custom actions to interact with the newly > installed dependency. > > -----Original Message----- > From: Nan Zang [mailto:naz...@microsoft.com] > Sent: Wednesday, February 13, 2013 1:17 AM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] questions on bootstrapper > > After some investigation, it seems define Id="WixMbaPrereqPackageId" > will accomplish what I need, however, I cannot get it work. > > <?xml version="1.0" encoding="UTF-8"?> > <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util=" > http://schemas.microsoft.com/wix/UtilExtension" xmlns:bal=" > http://schemas.microsoft.com/wix/BalExtension"> > <Bundle Name="My Test Application" Version="1.0.0.0" > Manufacturer="Microsoft" UpgradeCode="C82A383C-751A-43B8-90BF-A250F7BC2863" > > > <BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost"> > <Payload SourceFile="..\TestBA\BootstrapperCore.config"/> > <Payload SourceFile="..\TestBA\bin\Release\TestBA.dll"/> > <Payload SourceFile="C:\Program Files (x86)\WiX Toolset > v3.6\SDK\Microsoft.Deployment.WindowsInstaller.dll"/> > </BootstrapperApplicationRef> > > <Chain> > <PackageGroupRef Id='OrgIdSignInAssistant' /> > <MsiPackage > SourceFile="..\DummyInstaller\bin\debug\DummyInstaller.msi" > Id="DummyInstallernPackageId" Cache="yes" Visible="no"/> > </Chain> > </Bundle> > > <Fragment> > <WixVariable Id="WixMbaPrereqPackageId" Value="OrgIdSignInAssistant" /> > <WixVariable Id="WixMbaPrereqLicenseUrl" Value="Eula.rtf" /> > > <PackageGroup Id="OrgIdSignInAssistant"> > <MsiPackage Id="OrgIdSignInAssistant" Cache="no" > Compressed="yes" Permanent="yes" Vital="yes" > > SourceFile="E:\rmsonline\private\externals\IDCRL\7.250.4303.0\MSI\msoidcrl.msi" > /> > </PackageGroup> > </Fragment> > > </Wix> > > This is the log, this is modfied from the sample code. There is no > prerequisite step gets invoked, Anything wrong here? > > [1F40:1700][2013-02-12T23:07:48]: Burn v3.6.3303.0, Windows v6.1 (Build > 7601: Service Pack 1), path: > C:\Users\nazang\Desktop\RMSSetupBA\BootstrapperSetup\bin\Debug\BootstrapperSetup.exe, > cmdline: '/install /log setup.log /runas:administrator -burn.unelevated > BurnPipe.{F434AAE5-B80D-43FF-8859-670E1B3D483E} > {E175F3B6-186C-445D-A861-3BDC024177A4} 12900' > [1F40:1700][2013-02-12T23:07:48]: Setting string variable 'WixBundleLog' > to value 'e:\wix\Dev\wix37\setup.log' > [1F40:1700][2013-02-12T23:07:48]: Setting string variable > 'WixBundleOriginalSource' to value > 'C:\Users\nazang\Desktop\RMSSetupBA\BootstrapperSetup\bin\Debug\BootstrapperSetup.exe' > [1F40:1700][2013-02-12T23:07:48]: Setting string variable 'WixBundleName' > to value 'My Test Application' > [1F40:1700][2013-02-12T23:07:48]: Loading managed bootstrapper application. > [1F40:1700][2013-02-12T23:07:49]: Creating BA thread to run asynchronously. > [1F40:3B48][2013-02-12T23:07:49]: Launching custom TestBA UX > [1F40:1700][2013-02-12T23:07:49]: Detect 2 packages > [1F40:1700][2013-02-12T23:07:49]: Detected related bundle: > {4d72440b-3501-4b0c-9ee3-2fae6b7e4716}, type: Upgrade, scope: PerMachine, > version: 1.0.0.0, operation: None > [1F40:1700][2013-02-12T23:07:49]: Detected related bundle: > {63379848-f823-4d73-9364-83bebc1528b2}, type: Upgrade, scope: PerMachine, > version: 1.0.0.0, operation: None > [1F40:1700][2013-02-12T23:07:49]: Detected related bundle: > {886235b4-2f08-4c05-916f-d75266a07525}, type: Upgrade, scope: PerMachine, > version: 1.0.0.0, operation: None > [1F40:1700][2013-02-12T23:07:49]: Detected package: OrgIdSignInAssistant, > state: Absent, cached: None > [1F40:1700][2013-02-12T23:07:49]: Detected package: > DummyInstallernPackageId, state: Present, cached: Complete > [1F40:1700][2013-02-12T23:07:49]: Detect complete, result: 0x0 > > > ________________________________________ > From: Nan Zang > Sent: Tuesday, February 12, 2013 8:43 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] questions on bootstrapper > > Jocob, > > Thank you for your detailed answer. I have another question related to > 1. > > Besides .Net 3.5, I need another dependency (eg. CredUI.msi) for my BA UX. > I need to use this dependency in one of my BA UX. Is there possible I get > it installed automatically before my BAUX gets launched. I tried the > chained package approach, and found the installation of the credUI.msi will > be invoked when the MSI is launched. That doesn't meet my requirement. Is > that possible to invoke the installation action early? > > Thanks, > Nan > ________________________________________ > From: Hoover, Jacob > Sent: Tuesday, February 12, 2013 7:34 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] questions on bootstrapper > > 1. > . Because this is a feature on 2008R2, this method fails and says need to > enable the feature to install the framework. > > > http://blogs.msdn.com/b/sqlblog/archive/2010/01/08/how-to-install-net-framework-3-5-sp1-on-windows-server-2008-r2-environments.aspx > > And a previous discussion: > > http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Burn-NET-3-5-on-Windows-2008-R2-td7580032.html > > And I believe this is the feature Rob was speaking of: > http://sourceforge.net/p/wix/feature-requests/643/ > > In short, burn currently doesn't gracefully support this. One could modify > the WixStdBA to detect the OS level, and if the OS is 2008R2 then enable > the feature instead of invoking the default installer. From a quick dive, > it looks to me that a MBA will fall back to WixStdBA using a mbapreq theme, > but I can't seem to find the specific fragments they are feeding in for > installing 3.5 (I can find 4.0+). From a high level, I don't know how Wix > identifies which prerequisite maps to the .Net framework. If I were a > betting man, they are relying on the .Net framework install requesting a > reboot. And that it's the first PackageGroup/PackageGroupRef in the chain. > > Some people have fallen back to using a stub exe with command line > parameters to enable the feature. You then can use conditions to only > invoke the stub on your target OS's (I would include this in the > PackageGroup you created for the 3.5 framework). > > > 2. > BA's should not modify system state for anything other than what the > engine already does. If you need to modify system state, use a lite weight > MSI with your registry keys in them and property drive any variables you > need to assign. > > Jacob > > -----Original Message----- > From: Nan Zang [mailto:naz...@microsoft.com] > Sent: Tuesday, February 12, 2013 5:10 PM > To: General discussion for Windows Installer XML toolset. ( > wix-users@lists.sourceforge.net) > Subject: [WiX-users] questions on bootstrapper > > Hi, > > I am working on a setup program which needs to meet the following > requirements. I tried to use bootstrapper to accomplish those, but, didn't > figure out a way to do so. Thank you in advance for any help or hint. > > > > 1. Is that possible to install a dependency automatically which will > be used by the customize BA UI? > > > > For example, my customize UI is written in WPF and will require .Net 3.5 > is enabled on 2008R2. My question is, is there possible to detect if the > feature is enabled, and if not enable it automatically? I am using the .Net > 4 bootstrapper sample code as an example, and found the installation of the > packages will be invoked when the MSI is launched. That doesn't meet my > requirement, since I need it before the UI. Is that possible to invoke the > installation action early? > > > > 2. Is there possible to launch Bootstrapper as elevated? > > I am following the UAC guide to create a manifest for my bootstrapper.exe, > as follows, but whenever I add the following line to the wixproj, and the > dialog asking for admin permission shows up but the BAUX doesn't get > launched any more. Is there any guidance how to deal with this? My custom > UI setup requires write a bunch of regkeys. > > <Target Name="AfterBuild"> > > <Exec Command=""C:\Program Files (x86)\Microsoft > SDKs\Windows\v7.0A\Bin\mt.exe" -manifest > $(ProjectDir)$(TargetName).exe.manifest > -outputresource:$(TargetDir)$(TargetFileName)" /> > > </Target> > > > Thank you, > > Nan > > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 and get the > hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 and get the > hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 and get the > hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 and get the > hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 > and get the hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users