This is what I have in the Bundle.wxs
for my bootstrapper project. The problem is that the <MSPackage>
is NOT being installed when I run the .EXE
bootstrapper file created when I build the project. It builds with no errors and during installation no errors show either, but the driver is not getting installed, only the bootstrapper.
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle Name="MyBootstrapper" Version="1.0.0.0" Manufacturer="[COMPANY_NAME]" UpgradeCode="[MY_UPGRADE_CODE]">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Variable Name="Install32BitPackage" Type="numeric" Value="1" />
<Variable Name="Install64BitPackage" Type="numeric" Value="1" />
<Chain>
<PackageGroupRef Id="InstallPackages" />
</Chain>
</Bundle>
<Fragment>
<util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{00000000-0000-0000-0000-000000000000}" Result="exists" Variable="32BitPackageInstalled" />
<util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{64BIT-GUID}" Result="exists" Variable="64BitPackageInstalled" />
<PackageGroup Id="InstallPackages">
<MsiPackage Id="MyApp32Bit" Cache="no" Compressed="yes" DisplayInternalUI="yes" Vital="yes" SourceFile="E:\Products\[COMPANY_NAME]\ISSUE_DISKS\Drivers\[DRIVER_NAME]\Setup.msi" InstallCondition="VersionNT64 = 0 AND Install32BitPackage = 1"></MsiPackage>
<MsiPackage Id="MyApp64Bit" Cache="no" Compressed="yes" DisplayInternalUI="yes" Vital="yes" SourceFile="E:\Products\[COMPANY_NAME]\ISSUE_DISKS_x64\Drivers\[DRIVER_NAME]\Setup.msi" InstallCondition="VersionNT64 = 1 AND Install64BitPackage = 1"></MsiPackage>
</PackageGroup>
</Fragment>
</Wix>
For the 32bit
GUID I have the placeholder of 0's as the machine I am currently working on does not have my program installed as 32bit
, only 64bit
so there is no GUID in the registry editor.
If possible, the same code needs to work on a computer with the 32bit
or 64bit
program installed. And install the correct Setup.msi
. I also have registry searches in there as I would like it to not only check the platform of the program but also the machine architecture.
Similar to these posts:
How to deploy 64-bit and a 32-bit Windows Installer package as a single setup?
WiX burn bootstrapping x86 and x64 msi’s into single No-UI bootstrapper
I've been searching the internet for help with this, which is a simple thing I thought. I would really appreciate any help :)
UPDATED
I came across this post -> Wix Setup not installing when called from Bootstrapper
The issue I am having is very similar, the Setup.msi
works fine, but not when it is called through the Bootstrapper. Below is the log file created from running the .EXE
.
[1634:05CC][2023-05-12T09:59:06]i001: Burn v3.11.2.4516, Windows v10.0 (Build 19044: Service Pack 0), path: C:\WINDOWS\Temp\{SERIES_OF_DIGITS}\.cr\Bootstrapper.exe
[1634:05CC][2023-05-12T09:59:06]i000: Initializing numeric variable 'Install32BitPackage' to value '1'
[1634:05CC][2023-05-12T09:59:06]i000: Initializing numeric variable 'Install64BitPackage' to value '1'
[1634:05CC][2023-05-12T09:59:06]i009: Command Line: '-burn.clean.room=E:\Products\[PROGRAM_NAME]\Bootstrapper\bin\x64\Release\Bootstrapper.exe -burn.filehandle.attached=680 -burn.filehandle.self=532 -l C:\Temp\log.txt'
[1634:05CC][2023-05-12T09:59:06]i000: Setting string variable 'WixBundleOriginalSource' to value 'E:\Products\[PROGRAM_NAME]\Bootstrapper\bin\x64\Release\Bootstrapper.exe'
[1634:05CC][2023-05-12T09:59:06]i000: Setting string variable 'WixBundleOriginalSourceFolder' to value 'E:\Products\[PROGRAM_NAME]\Bootstrapper\bin\x64\Release\'
[1634:05CC][2023-05-12T09:59:06]i000: Setting string variable 'WixBundleLog' to value 'C:\Temp\log.txt'
[1634:05CC][2023-05-12T09:59:06]i000: Setting string variable 'WixBundleName' to value 'Bootstrapper'
[1634:05CC][2023-05-12T09:59:06]i000: Setting string variable 'WixBundleManufacturer' to value 'HP Inc.'
[1634:37A8][2023-05-12T09:59:06]i000: Setting numeric variable 'WixStdBALanguageId' to value 1033
[1634:37A8][2023-05-12T09:59:06]i000: Setting version variable 'WixBundleFileVersion' to value '1.0.0.0'
[1634:05CC][2023-05-12T09:59:06]i100: Detect begin, 2 packages
[1634:05CC][2023-05-12T09:59:06]i000: Registry key not found. Key = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{00000000-0000-0000-0000-000000000000}'
[1634:05CC][2023-05-12T09:59:06]i000: Setting numeric variable '32BitPackageInstalled' to value 0
[1634:05CC][2023-05-12T09:59:06]i000: Registry key not found. Key = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{64BIT-GUID}'
[1634:05CC][2023-05-12T09:59:06]i000: Setting numeric variable '64BitPackageInstalled' to value 0
[1634:05CC][2023-05-12T09:59:06]i102: Detected related bundle: {SERIES_OF_DIGITS}, type: Upgrade, scope: PerMachine, version: 1.0.0.0, operation: None
[1634:05CC][2023-05-12T09:59:06]i101: Detected package: MyApp32Bit, state: Absent, cached: None
[1634:05CC][2023-05-12T09:59:06]i101: Detected package: MyApp64Bit, state: Absent, cached: None
[1634:05CC][2023-05-12T09:59:06]i199: Detect complete, result: 0x0
[1634:37A8][2023-05-12T09:59:09]i000: Setting numeric variable 'EulaAcceptCheckbox' to value 1
[1634:05CC][2023-05-12T09:59:09]i200: Plan begin, 2 packages, action: Install
[1634:05CC][2023-05-12T09:59:09]i052: Condition 'VersionNT64 = 0 AND Install32BitPackage = 1' evaluates to false.
[1634:05CC][2023-05-12T09:59:09]i052: Condition 'VersionNT64 = 1 AND Install64BitPackage = 1' evaluates to false.
[1634:05CC][2023-05-12T09:59:09]i201: Planned package: MyApp32Bit, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: None
[1634:05CC][2023-05-12T09:59:09]i201: Planned package: MyApp64Bit, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: None
[1634:05CC][2023-05-12T09:59:09]i207: Planned related bundle: {SERIES_OF_DIGITS}, type: Upgrade, default requested: None, ba requested: None, execute: None, rollback: None, dependency: None
[1634:05CC][2023-05-12T09:59:09]i299: Plan complete, result: 0x0
[1634:05CC][2023-05-12T09:59:09]i300: Apply begin
[1634:05CC][2023-05-12T09:59:09]i010: Launching elevated engine process.
[1634:05CC][2023-05-12T09:59:09]i011: Launched elevated engine process.
[1634:05CC][2023-05-12T09:59:09]i012: Connected to elevated engine.
[31E8:30B0][2023-05-12T09:59:09]i358: Pausing automatic updates.
[31E8:30B0][2023-05-12T09:59:09]i359: Paused automatic updates.
[31E8:30B0][2023-05-12T09:59:09]i360: Creating a system restore point.
[31E8:30B0][2023-05-12T09:59:09]w363: Could not create system restore point, error: 0x80070422. Continuing...
[31E8:30B0][2023-05-12T09:59:09]i370: Session begin, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{SERIES_OF_NUMBERS}, options: 0x7, disable resume: No
[31E8:30B0][2023-05-12T09:59:10]i000: Caching bundle from: 'C:\WINDOWS\Temp\{SERIES_OF_DIGITS}\.be\Bootstrapper.exe' to: 'C:\ProgramData\Package Cache\{SERIES_OF_DIGITS}\Bootstrapper.exe'
[31E8:30B0][2023-05-12T09:59:10]i320: Registering bundle dependency provider: {SERIES_OF_DIGITS}, version: 1.0.0.0
[31E8:30B0][2023-05-12T09:59:10]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{SERIES_OF_DIGITS}, resume: Active, restart initiated: No, disable resume: No
[31E8:30B0][2023-05-12T09:59:10]i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{SERIES_OF_DIGITS}, resume: ARP, restart: None, disable resume: No
[31E8:30B0][2023-05-12T09:59:10]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{SERIES_OF_DIGITS}, resume: ARP, restart initiated: No, disable resume: No
[1634:05CC][2023-05-12T09:59:11]i399: Apply complete, result: 0x0, restart: None, ba requested restart: No
[1634:05CC][2023-05-12T09:59:12]i500: Shutting down, exit code: 0x0
[1634:05CC][2023-05-12T09:59:12]i410: Variable: 32BitPackageInstalled = 0
[1634:05CC][2023-05-12T09:59:12]i410: Variable: 64BitPackageInstalled = 0
[1634:05CC][2023-05-12T09:59:12]i410: Variable: EulaAcceptCheckbox = 1
[1634:05CC][2023-05-12T09:59:12]i410: Variable: Install32BitPackage = 1
[1634:05CC][2023-05-12T09:59:12]i410: Variable: Install64BitPackage = 1
[1634:05CC][2023-05-12T09:59:12]i410: Variable: VersionNT64 = 10.0.0.0
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleAction = 5
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleElevated = 1
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleFileVersion = 1.0.0.0
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleInstalled = 0
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleLog = C:\Temp\log.txt
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleManufacturer = HP Inc.
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleName = Bootstrapper
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleOriginalSource = E:\Products\[PROGRAM_NAME]\Bootstrapper\bin\x64\Release\Bootstrapper.exe
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleOriginalSourceFolder = E:\Products\[PROGRAM_NAME]\Bootstrapper\bin\x64\Release\
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleProviderKey = {SERIES_OF_DIGITS}
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleSourceProcessFolder = E:\Products\[PROGRAM_NAME]\Bootstrapper\bin\x64\Release\
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleSourceProcessPath = E:\Products\[PROGRAM_NAME]\Bootstrapper\bin\x64\Release\Bootstrapper.exe
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleTag =
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleUILevel = 4
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixBundleVersion = 1.0.0.0
[1634:05CC][2023-05-12T09:59:12]i410: Variable: WixStdBALanguageId = 1033
[1634:05CC][2023-05-12T09:59:12]i007: Exit code: 0x0, restarting: No