I'm trying to put together a burn bundle with two msi packages. One is per
user and one is per machine (there are actually 4 because the two msi's
have 1 each for x32 and x64). Initial installation works fine. When I try
to run a new burn .exe that would upgrade only the per user .msi but not
the per machine msi, I get a error: "0x80070006 - The handle is invalid."
The new .exe contains an upgrade version of the per user .msi and the old
version of the per machine .msi. I would think that burn would install the
upgrade of the per user msi and leave the per machine msi alone (since it
is already the correct version).

Based on the log, it seems to realize that it only needs to install the per
user upgrade .msi, and starts installing. But then it thinks it should be
elevated and blows up. See projects/log below.

If more details about what I'm trying to do are useful -- this is for an
installer/autoupdate package for a shell extension I'm developing.

My idea right now is to use a single burn .exe for both installation and
updating. It would contain (or download) all 4 msi's (one per machine for
the actual extension, one per user for the client tools, multiply by 2 for
x32 and x64 support). Since its a shell extension, the actual extension
.dll must be installed per-machine. However, that part won't be updated
frequently, and I'd like to be able to do a silent update when not updating
the shell extension .dll (hence the per user installation of everything
else).

Initial installation would be easy -- the user would download the burn .exe
and run it. Silent updates would be just as easy -- the app would check for
an update, download the latest burn.exe and run it with silent command line
args. Updating the shell extension would be a bit more tricky, as the app
would need to know that and not pass the silent args so that the user would
get a UAC prompt.

I'm not sure if this is the best way to go about this -- if anyone has a
better idea for the install/autoupdate, I'd love to hear it.

I realize I'm on the bleeding edge with Burn here, but any help tracking
down the issue would be very much appreciated. Having a simple silent auto
update would be so cool and I'm close enough I can taste it.

Thanks!

Chris Hynes
Foundry 57

--- PER USER PROJECT ---
  <Product Id="*" Name="$(var.ProductName)" Language="1033"
Version="$(var.ProductFullVersion)"
Manufacturer="$(var.ProductManufacturer)" UpgradeCode="$(var.UpgradeId)">
<Package InstallerVersion="200" Compressed="yes"
InstallPrivileges="limited" InstallScope="perUser"
Manufacturer="$(var.ProductManufacturer)" />

--- PER MACHINE PROJECT ---
  <Product Id="$(var.ProductId)" Name="$(var.ProductName) Shell Extension"
Language="1033" Version="!(bind.FileVersion.ClickScanShellExtension)"
Manufacturer="$(var.ProductManufacturer)" UpgradeCode="$(var.UpgradeId)">
    <Package InstallerVersion="200" Compressed="yes"
InstallPrivileges="elevated" InstallScope="perMachine"
Manufacturer="$(var.ProductManufacturer)" />

--- BURN PROJECT ---
  <Bundle Version="$(var.ProductFullVersion)" DisableModify="yes"
Name="$(var.ProductName)" Manufacturer="$(var.ProductManufacturer)"
UpgradeCode="33788ba7-5d04-4e29-b9b0-13f88ab8b81e">
<BootstrapperApplicationRef
Id="WixStandardBootstrapperApplication.RtfLicense" />
    <Chain>
      <PackageGroupRef Id="Netfx4Client" />
      <!-- NOTE: .NET 4 installer requires MSI 3.1, but that is auto
installed in XP SP3 and 2003 SP2, which are required -->

      <MsiPackage SourceFile="..\MyAppSetup\bin\Release\MyApp-x86.msi"
InstallCondition="NOT VersionNT64" />
      <MsiPackage SourceFile="..\MyAppSetup\bin\x64\Release\MyApp-x64.msi"
InstallCondition="VersionNT64" />

      <MsiPackage
SourceFile="..\MyAppShellExtensionSetup\bin\Release\MyAppShellExtension-x86.msi"
InstallCondition="NOT VersionNT64" />
      <MsiPackage
SourceFile="..\MyAppShellExtensionSetup\bin\x64\Release\MyAppShellExtension-x64.msi"
InstallCondition="VersionNT64" />
    </Chain>
  </Bundle>

--- LOG OUTPUT ---
[14EC:0B88][2012-03-20T07:16:55]: Burn v3.6.2719.0, path:
C:\Dev\Foundry\MyApp\Build\Dist\MyAppSetup_0.9.0.exe, cmdline: ''
[14EC:0B88][2012-03-20T07:16:55]: Setting string variable 'WixBundleLog' to
value 'C:\Users\Chris\AppData\Local\Temp\MyApp_20120320071655.log'
[14EC:0B88][2012-03-20T07:16:55]: Setting string variable
'WixBundleOriginalSource' to value
'C:\Dev\Foundry\MyApp\Build\Dist\MyAppSetup_0.9.0.exe'
[14EC:0B88][2012-03-20T07:16:55]: Setting string variable 'WixBundleName'
to value 'MyApp'
[14EC:0B88][2012-03-20T07:16:55]: Detect 5 packages
[14EC:0B88][2012-03-20T07:16:55]: Setting string variable
'Netfx4ClientVersion' to value '4.0.30319'
[14EC:0B88][2012-03-20T07:16:55]: Setting string variable
'Netfx4x64ClientVersion' to value '4.0.30319'
[14EC:0B88][2012-03-20T07:16:55]: Detected related bundle:
{bbc3a00e-6124-49cb-920b-b85f76873653}, type: Upgrade, scope: PerUser,
version: 0.9.2.0, operation: MajorUpgrade
[14EC:0B88][2012-03-20T07:16:55]: Condition 'Netfx4ClientVersion AND (NOT
VersionNT64 OR Netfx4x64ClientVersion)' evaluates to true.
[14EC:0B88][2012-03-20T07:16:55]: Detected package: Netfx4Client, state:
Present, cached: None
[14EC:0B88][2012-03-20T07:16:55]: Detected package: MyApp_x86.msi, state:
Absent, cached: None
[14EC:0B88][2012-03-20T07:16:55]: Detected package: MyApp_x64.msi, state:
Absent, cached: None
[14EC:0B88][2012-03-20T07:16:55]: Detected package:
MyAppShellExtension_x86.msi, state: Absent, cached: None
[14EC:0B88][2012-03-20T07:16:55]: Detected package:
MyAppShellExtension_x64.msi, state: Present, cached: Complete
[14EC:0B88][2012-03-20T07:16:55]: Detect complete, result: 0x0
[14EC:0B88][2012-03-20T07:16:57]: Plan 5 packages, action: Install
[14EC:0B88][2012-03-20T07:16:57]: Skipping dependency registration on
package with no dependency providers: Netfx4Client
[14EC:0B88][2012-03-20T07:16:57]: Condition 'NOT VersionNT64' evaluates to
false.
[14EC:0B88][2012-03-20T07:16:57]: Condition 'VersionNT64' evaluates to true.
[14EC:0B88][2012-03-20T07:16:57]: Setting string variable
'WixBundleRollbackLog_MyApp_x64.msi' to value
'C:\Users\Chris\AppData\Local\Temp\MyApp_20120320071655_0_MyApp_x64.msi_rollback.log'
[14EC:0B88][2012-03-20T07:16:57]: Setting string variable
'WixBundleLog_MyApp_x64.msi' to value
'C:\Users\Chris\AppData\Local\Temp\MyApp_20120320071655_0_MyApp_x64.msi.log'
[14EC:0B88][2012-03-20T07:16:57]: Condition 'NOT VersionNT64' evaluates to
false.
[14EC:0B88][2012-03-20T07:16:57]: Condition 'VersionNT64' evaluates to true.
[14EC:0B88][2012-03-20T07:16:57]: Planned package: Netfx4Client, state:
Present, default requested: Present, ba requested: Present, execute: None,
rollback: None, cache: No, uncache: No, dependency: None
[14EC:0B88][2012-03-20T07:16:57]: Planned package: MyApp_x86.msi, state:
Absent, default requested: Absent, ba requested: Absent, execute: None,
rollback: None, cache: No, uncache: No, dependency: None
[14EC:0B88][2012-03-20T07:16:57]: Planned package: MyApp_x64.msi, state:
Absent, default requested: Present, ba requested: Present, execute:
Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register
[14EC:0B88][2012-03-20T07:16:57]: Planned package:
MyAppShellExtension_x86.msi, state: Absent, default requested: Absent, ba
requested: Absent, execute: None, rollback: None, cache: No, uncache: No,
dependency: None
[14EC:0B88][2012-03-20T07:16:57]: Planned package:
MyAppShellExtension_x64.msi, state: Present, default requested: Present, ba
requested: Present, execute: None, rollback: None, cache: No, uncache: No,
dependency: Register
[14EC:0B88][2012-03-20T07:16:57]: Planned related bundle:
{bbc3a00e-6124-49cb-920b-b85f76873653}, type: Upgrade, default requested:
Absent, ba requested: Absent, execute: Uninstall, rollback: Install,
dependency: None
[14EC:0B88][2012-03-20T07:16:57]: Plan complete, result: 0x0
[14EC:0B88][2012-03-20T07:16:57]: Apply begin
[14EC:0B88][2012-03-20T07:16:57]: Caching bundle from:
'C:\Users\Chris\AppData\Local\Temp\{07966d83-9344-46e5-bfef-9082a435e6c9}\.be\MyAppSetup.exe'
to: 'C:\Users\Chris\AppData\Local\Package
Cache\{07966d83-9344-46e5-bfef-9082a435e6c9}\MyAppSetup.exe'
[14EC:0B88][2012-03-20T07:16:57]: Registering bundle dependency provider:
{07966d83-9344-46e5-bfef-9082a435e6c9}, version: 0.9.3.0
[14EC:1394][2012-03-20T07:16:57]: Verified acquired payload: MyApp_x64.msi
at path: C:\Users\Chris\AppData\Local\Package
Cache\.unverified\MyApp_x64.msi, moving to:
C:\Users\Chris\AppData\Local\Package
Cache\{2AA52510-2716-45EF-904A-BFCB1A03BECF}v0.9.3.0\MyApp-x64.msi.
[14EC:0B88][2012-03-20T07:16:57]: Applying execute package: MyApp_x64.msi,
action: Install, path: C:\Users\Chris\AppData\Local\Package
Cache\{2AA52510-2716-45EF-904A-BFCB1A03BECF}v0.9.3.0\MyApp-x64.msi,
arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7"'
[14EC:0B88][2012-03-20T07:16:58]: Registering package dependency provider:
{2AA52510-2716-45EF-904A-BFCB1A03BECF}, version: 0.9.3.0, package:
MyApp_x64.msi
[14EC:0B88][2012-03-20T07:16:58]: Registering dependency:
{07966d83-9344-46e5-bfef-9082a435e6c9} on package provider:
{2AA52510-2716-45EF-904A-BFCB1A03BECF}, package: MyApp_x64.msi
[14EC:0B88][2012-03-20T07:16:58]: Error 0x80070006: Failed to write message
type to pipe.
[14EC:0B88][2012-03-20T07:16:58]: Error 0x80070006: Failed to write send
message to pipe.
[14EC:0B88][2012-03-20T07:16:58]: Error 0x80070006: Failed to send
BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_DEPENDENCY message to per-machine
process.
[14EC:0B88][2012-03-20T07:16:58]: Error 0x80070006: Failed to register the
dependency on per-machine package.
[14EC:0B88][2012-03-20T07:16:58]: Error 0x80070006: Failed to execute
dependency action.
[14EC:0B88][2012-03-20T07:16:58]: Removing dependency:
{07966d83-9344-46e5-bfef-9082a435e6c9} on package provider:
{2AA52510-2716-45EF-904A-BFCB1A03BECF}, package MyApp_x64.msi
[14EC:0B88][2012-03-20T07:16:58]: Applying rollback package: MyApp_x64.msi,
action: Uninstall, path: C:\Users\Chris\AppData\Local\Package
Cache\{2AA52510-2716-45EF-904A-BFCB1A03BECF}v0.9.3.0\MyApp-x64.msi,
arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7"'
[14EC:0B88][2012-03-20T07:16:59]: Removing package dependency provider:
{2AA52510-2716-45EF-904A-BFCB1A03BECF}, package: MyApp_x64.msi
[14EC:0B88][2012-03-20T07:16:59]: Removing cached package: MyApp_x64.msi,
from path: C:\Users\Chris\AppData\Local\Package
Cache\{2AA52510-2716-45EF-904A-BFCB1A03BECF}v0.9.3.0\
[14EC:0B88][2012-03-20T07:16:59]: Removing bundle dependency provider:
{07966d83-9344-46e5-bfef-9082a435e6c9}
[14EC:0B88][2012-03-20T07:16:59]: Removing cached bundle:
{07966d83-9344-46e5-bfef-9082a435e6c9}, from path:
C:\Users\Chris\AppData\Local\Package
Cache\{07966d83-9344-46e5-bfef-9082a435e6c9}\
[14EC:0B88][2012-03-20T07:16:59]: Apply complete, result: 0x80070006,
restart: None, ba requested restart:  No
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to