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="&quot;C:\Program Files (x86)\Microsoft 
SDKs\Windows\v7.0A\Bin\mt.exe&quot; -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

Reply via email to