1 - Slipstreaming MSP's doesn't work

Code:

    <Chain>
[snip]
      <MsiPackage Id="SharedContentFull"
                  SourceFile="..\..\..\..\..\TEMP\VESharedContent.msi"
                  After="NET4.0"
                  Compressed="no"
                  DisplayInternalUI="yes"
                  DownloadUrl="[removed]VESharedContent.msi"
                  ForcePerMachine="yes"
                  Permanent="yes"
                  Visible="yes"
                  Vital="yes">
        <SlipstreamMsp Id="SharedContentPatch" />
      </MsiPackage>

      <MspPackage Id="SharedContentPatch"
                  SourceFile="..\..\..\install\VESharedContent.msp"
                  After="NET4.0"
                  Compressed="no"
                  DisplayInternalUI="yes"
                  DownloadUrl="[removed]VESharedContent.msp"
                  InstallSize="1"
                  PerMachine="yes"
                  Permanent="yes"
                  Vital="yes"
                  Slipstream="yes" />
[snip]
    </Chain>

What's meant to happen:
On a machine which has an existing v2.0 or later MSI installation, the MSP 
should be applied to update to v2.2
On a machine which has nothing installed, v2.2 should be installed
On a machine which has an existing installation older than v2.0 a Major Upgrade 
should be applied to update to v2.2

The above scenarios all work when manually executing the relevant MSI or MSP & 
show the expected errors when attempted outside of those conditions.

What actually happens:
On a machine which has an existing MSI installation, the MSP applies 
successfully as expected.
On a machine with nothing installed it hangs at the following -> 
http://upload.iesve.com/downloads/burn_issues/shared_content_hang.png (clicking 
the Next button does nothing, it will sit here for hours).
On a machine which has an existing installation older than v2.0 it fails. Burn 
log extract:
[0BF4:0188][2012-05-22T12:05:19]: Applying execute package: SharedContentFull, 
action: Install, path: C:\ProgramData\Package 
Cache\{92E2C426-6CDB-44D4-8D48-6414A442231D}v2.0.0\VESharedContent.msi, 
arguments: ' ALLUSERS="1" MSIFASTINSTALL="7" PATCH="C:\ProgramData\Package 
Cache\{C87ACD42-5458-4168-949C-F495E1140AAE}\VESharedContent.msp"'
[0BF4:0188][2012-05-22T12:05:44]: Error 0x8007066a: Failed to install MSI 
package.
[0BF4:0188][2012-05-22T12:05:44]: Error 0x8007066a: Failed to execute MSI 
package.
[0AAC:08EC][2012-05-22T12:05:44]: Error 0x8007066a: Failed to configure 
per-machine MSI package.
[0AAC:08EC][2012-05-22T12:05:44]: Applied execute package: SharedContentFull, 
result: 0x8007066a, restart: None
[0AAC:08EC][2012-05-22T12:05:44]: Error 0x8007066a: Failed to execute MSI 
package.
[0BF4:0188][2012-05-22T12:05:44]: Removing cached package: SharedContentFull, 
from path: C:\ProgramData\Package 
Cache\{92E2C426-6CDB-44D4-8D48-6414A442231D}v2.0.0\
Windows Installer log for the above package -> 
http://upload.iesve.com/downloads/burn_issues/shared_content_major_upgrade.txt

The MSI in the above code is the v2.0 MSI not the v2.2 as advised by Rob M -> 
https://sourceforge.net/mailarchive/message.php?msg_id=29195304 and as stated 
above using the MSI and/or MSP where applicable outside of Burn works as 
expected in all scenarios.


2 - Burn package uninstall doesn't work.

Scenario 1 AKA "The Rock"

Code:
  <Bundle Name="IES Virtual Environment 2012"
          Version="12.1.0.0"
          Manufacturer="Integrated Environmental Solutions Limited"
          UpgradeCode="[removed]"
          Compressed="yes"
          AboutUrl="http://www.iesve.com/";
          Copyright="IES Virtual Environment is Copyright (c) 2012 Integrated 
Environmental Solutions Limited."
          HelpTelephone="+44 (0)141 945 8500"
          HelpUrl="http://www.iesve.com/support";
          IconSourceFile="..\VEInstall\res\VE.ico"
          UpdateUrl="http://www.iesve.com/";>

    <BootstrapperApplicationRef 
Id="WixStandardBootstrapperApplication.HyperlinkLicense">
      <bal:WixStandardBootstrapperApplication LicenseUrl=" " 
SuppressOptionsUI="yes" LogoFile="res\IES_Logo.png" />
    </BootstrapperApplicationRef>

    <Chain>
[snip]
      <MsiPackage Id="ve"
                  SourceFile="..\..\..\install\ve2012.msi"
                  After="SharedContentPatch"
                  Compressed="yes"
                  DisplayInternalUI="yes"
                  ForcePerMachine="yes"
                  Visible="no"
                  Vital="yes"  />

      <MsiPackage Id="SketchUpPlugin"
                  SourceFile="..\..\..\install\SketchUpPlugin2012.msi"
                  After="ve"
                  Compressed="yes"
                  DisplayInternalUI="yes"
                  ForcePerMachine="yes"
                  Visible="no"
                  Vital="yes"  />

      <MsiPackage Id="RevitPlugin"
                  SourceFile="..\..\..\install\RevitPlugin2012.msi"
                  After="SketchUpPlugin"
                  Compressed="yes"
                  DisplayInternalUI="yes"
                  ForcePerMachine="yes"
                  Visible="no"
                  Vital="yes" />
    </Chain>
  </Bundle>

What's meant to happen:
Programs & Features (Add/Remove Programs) should have a single entry which 
should uninstall the 3 listed packages in order.

What actually happens:
http://upload.iesve.com/downloads/burn_issues/uninstall_fail.png
Obviously "Install" isn't what should be happening here. Using the MSI directly 
(circumventing Burn) will bring up the Uninstall process as expected.

Scenario 2 AKA The Hard Place.

To work around scenario 1, I add DisableModify  DisableRemove to the Bundle 
Element & add Permanent & Visible attributes to the MsiPackages.

  <Bundle Name="IES Virtual Environment 2012"
          Version="12.1.0.0"
          Manufacturer="Integrated Environmental Solutions Limited"
          UpgradeCode="[removed]"
          Compressed="yes"
          AboutUrl="http://www.iesve.com/";
          Copyright="IES Virtual Environment is Copyright (c) 2012 Integrated 
Environmental Solutions Limited."
          HelpTelephone="+44 (0)141 945 8500"
          HelpUrl="http://www.iesve.com/support";
          IconSourceFile="..\VEInstall\res\VE.ico"
          UpdateUrl="http://www.iesve.com/";
          DisableModify="yes"
          DisableRemove="yes">

    <BootstrapperApplicationRef 
Id="WixStandardBootstrapperApplication.HyperlinkLicense">
      <bal:WixStandardBootstrapperApplication LicenseUrl=" " 
SuppressOptionsUI="yes" LogoFile="res\IES_Logo.png" />
    </BootstrapperApplicationRef>

    <Chain>
[snip]
      <MsiPackage Id="ve"
                  SourceFile="..\..\..\install\ve2012.msi"
                  After="SharedContentPatch"
                  Compressed="yes"
                  DisplayInternalUI="yes"
                  ForcePerMachine="yes"
                  Permanent="yes"
                  Visible="yes"
                  Vital="yes"  />

      <MsiPackage Id="SketchUpPlugin"
                  SourceFile="..\..\..\install\SketchUpPlugin2012.msi"
                  After="ve"
                  Compressed="yes"
                  DisplayInternalUI="yes"
                  ForcePerMachine="yes"
                  Permanent="yes"
                  Visible="yes"
                  Vital="yes" />

      <MsiPackage Id="RevitPlugin"
                  SourceFile="..\..\..\install\RevitPlugin2012.msi"
                  After="SketchUpPlugin"
                  Compressed="yes"
                  DisplayInternalUI="yes"
                  ForcePerMachine="yes"
                  Permanent="yes"
                  Visible="yes"
                  Vital="yes" />
    </Chain>
  </Bundle>

What's meant to happen:
Each package should have its own entry in Programs & Features. Bundle shouldn't 
be visible.

What actually happens:
Each package has its own entry in Programs & Features. Bundle isn't visible.
However the problem occurs when a user uninstalls & then attempts to reinstall. 
The Bundle isn't visible but it is registering itself invisibly. When you 
uninstall the MSI's manually & then attempt to reinstall using the Burn bundle 
you get the following -> 
http://upload.iesve.com/downloads/burn_issues/double_uninstall.png which means 
you have to run the Burn bundle twice, first to "uninstall" itself then the 
second time allows you to install the packages again which isn't exactly 
intuitive.
If there is some way to suppress the Burn bundle registering itself this would 
be an acceptable workaround to the Scenario 1 issue for now.


3 - .NET 4.0 PackageGroup from WixNetfxExtension doesn't work

Code:
    <Chain>
      <PackageGroupRef Id="NetFx40ClientRedist"/>
    </Chain>

What's meant to happen:
.NET 4.0 client profile should download from Microsoft.com & install

What actually happens:
[0AF4:0AB4][2012-05-22T13:02:43]: Caching bundle from: 
'C:\Users\zxc\AppData\Local\Temp\{b3f48405-aa04-4bda-919e-5d1f2c24c242}\.be\ve2012setup.exe'
 to: 'C:\ProgramData\Package 
Cache\{b3f48405-aa04-4bda-919e-5d1f2c24c242}\ve2012setup.exe'
[0AF4:0AB4][2012-05-22T13:02:43]: Registering bundle dependency provider: 
{b3f48405-aa04-4bda-919e-5d1f2c24c242}, version: 12.1.0.0
[0B58:0944][2012-05-22T13:02:43]: Prompt for source of package: 
NetFx40ClientRedist, payload: NetFx40ClientRedist, path: 
C:\TEMP\redist\dotNetFx40_Client_x86_x64.exe
[0B58:0944][2012-05-22T13:02:43]: Acquiring package: NetFx40ClientRedist, 
payload: NetFx40ClientRedist, download from: 
http://go.microsoft.com/fwlink/?LinkId=247730
[0AF4:0B98][2012-05-22T13:03:35]: Verified acquired payload: 
NetFx40ClientRedist at path: C:\ProgramData\Package 
Cache\.unverified\NetFx40ClientRedist, moving to: C:\ProgramData\Package 
Cache\4CD67F609F89D617D2B206341B8C211E1B88B287\redist\dotNetFx40_Client_x86_x64.exe.
[0B58:0944][2012-05-22T13:03:35]: Prompt for source of package: 
SharedContentPatch, payload: SharedContentPatch, path: 
C:\TEMP\VESharedContent.msp
[0B58:0944][2012-05-22T13:03:35]: Acquiring package: SharedContentPatch, 
payload: SharedContentPatch, download from: 
http://upload.iesve.com/Downloads/beta/VESharedContent.msp
[0AF4:0B98][2012-05-22T13:04:11]: Verified acquired payload: SharedContentPatch 
at path: C:\ProgramData\Package Cache\.unverified\SharedContentPatch, moving 
to: C:\ProgramData\Package 
Cache\{C87ACD42-5458-4168-949C-F495E1140AAE}\VESharedContent.msp.
[0AF4:0B98][2012-05-22T13:04:13]: Verified acquired payload: ve at path: 
C:\ProgramData\Package Cache\.unverified\ve, moving to: C:\ProgramData\Package 
Cache\{4C98F99A-3A95-4291-915E-D869C8FD4814}v12.0.0.0\ve2012.msi.
[0AF4:0AB4][2012-05-22T13:04:13]: Applying execute package: 
NetFx40ClientRedist, action: Install, path: C:\ProgramData\Package 
Cache\4CD67F609F89D617D2B206341B8C211E1B88B287\redist\dotNetFx40_Client_x86_x64.exe,
 arguments: '"C:\ProgramData\Package 
Cache\4CD67F609F89D617D2B206341B8C211E1B88B287\redist\dotNetFx40_Client_x86_x64.exe"
 /q /norestart /ChainingPackage "IES Virtual Environment 2012" /log 
C:\Users\zxc\AppData\Local\Temp\IES_Virtual_Environment_2012_20120522130216_0_NetFx40ClientRedist.log.html'
[0AF4:0AB4][2012-05-22T13:04:26]: Error 0x80070667: Process returned error: 
0x667
[0AF4:0AB4][2012-05-22T13:04:26]: Error 0x80070667: Failed to execute EXE 
package.
[0B58:076C][2012-05-22T13:04:26]: Error 0x80070667: Failed to configure 
per-machine EXE package.
[0B58:076C][2012-05-22T13:04:26]: Applied execute package: NetFx40ClientRedist, 
result: 0x80070667, restart: None
[0B58:076C][2012-05-22T13:04:26]: Error 0x80070667: Failed to execute EXE 
package.
[0AF4:0AB4][2012-05-22T13:04:26]: Removing cached package: NetFx40ClientRedist, 
from path: C:\ProgramData\Package 
Cache\4CD67F609F89D617D2B206341B8C211E1B88B287\
[0AF4:0AB4][2012-05-22T13:04:26]: Removed bundle dependency provider: 
{b3f48405-aa04-4bda-919e-5d1f2c24c242}
[0AF4:0AB4][2012-05-22T13:04:26]: Removing cached bundle: 
{b3f48405-aa04-4bda-919e-5d1f2c24c242}, from path: C:\ProgramData\Package 
Cache\{b3f48405-aa04-4bda-919e-5d1f2c24c242}\
[0B58:076C][2012-05-22T13:04:26]: Apply complete, result: 0x80070667, restart: 
None, ba requested restart:  No

 <PackageGroupRef Id="NetFx40ClientWeb"/> fails similarly just quicker since it 
has much less to download before it tries to run.

Hence I've been using my own RegistrySearch & ExeCommand to install the .NET 
4.0 client profile as a workaround:

    <util:RegistrySearch Id="NET4.0Search"
                         Variable="NET4Installed"
                         Root="HKLM"
                         Key="SOFTWARE\Microsoft\NET Framework 
Setup\NDP\v4\Client\"
                         Value="Install"
                         Result="value" />

      <ExePackage Id="NET4.0"
                  SourceFile="..\..\..\install\dotNetFx40_Client_x86_x64.exe"
                  Compressed="no"
                  
DownloadUrl="http://download.microsoft.com/download/5/6/2/562A10F9-C9F4-4313-A044-9C94E0A8FAC8/dotNetFx40_Client_x86_x64.exe";
                  InstallSize="1"
                  PerMachine="yes"
                  Permanent="yes"
                  Vital="yes"
                  DetectCondition="NET4Installed = 1" />

Which works as expected. The only issue with that is using the /passive switch 
on the Burn bundle still shows the .NET 4.0 installer UI because there's no way 
to specify passive or silent only commands.
I've raised bug 3528801 on SourceForge regarding passive installs for 
ExeCommand elements -> 
https://sourceforge.net/tracker/?func=detail&aid=3528801&group_id=105970&atid=642714


Any help with any of the above issues will be most appreciated. If any of these 
should be raised as bugs let me know & I'll do the honours.

Cheers,

Palbinder Sandher 
Software Platform Engineer 
T: +44 (0) 141 945 8500
F: +44 (0) 141 945 8501
http://www.iesve.com 

**Design, Simulate + Innovate with the <Virtual Environment>** 
Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456
Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 
0SP
Email Disclaimer 



------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to