Hi there, I just started using burn as bootstrapper application to install a specific java jdk if it is not present before an application will be installed. Here is the code I use (it only contains the jdk):
file *jdk-6u27-x64.wxs*: <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> <Fragment> <util:RegistrySearch Id="rs_jdk" Variable="jdk_version" Win64="yes" Root="HKLM" Key="SOFTWARE\JavaSoft\Java Development Kit" Value="CurrentVersion" /> <PackageGroup Id="PGJavaJDK"> <ExePackage Id="JavaJDK" SourceFile="D:\transfer\jdk-6u27-windows-x64.exe" InstallCommand="/qr /ACTION=Install" RepairCommand="/qr ACTION=Repair /hideconsole" UninstallCommand="/qr ACTION=Uninstall /hideconsole " DetectCondition="jdk_version >= "1.6"" InstallCondition="VersionNT64" Vital="yes" PerMachine="yes" /> </PackageGroup> </Fragment> </Wix> ---------- file *bundle.wxs*: <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Bundle Name="Bootstrapper1" Version="1.0.0.0" Manufacturer="SAPERION AG" UpgradeCode="5efcf222-6acb-4243-8dd5-e55b509543b7"> <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" /> <Chain> <PackageGroupRef Id="PGJavaJDK"/> </Chain> </Bundle> </Wix> ---------- After starting the setup it worked as expected. Because I had the jdk already installed it did nothing, but it appeared in the "Control Panel" -> "Programs and Features" list. Ok so far, but if I try to uninstall that bootstrapper it fails and the log contains: [1674:27D8][2012-01-18T14:14:55]: Burn v3.6.2221.0, path: C:\ProgramData\Package Cache\{b0549451-e6c8-4c45-a7d0-bc87d11a79c4}\Bootstrapper1.exe, cmdline: '/uninstall -burn.unelevated BurnPipe.{E1D0F248-C7E8-453A-86CE-12A48A58A72D} {E2142AF5-67B8-41B5-9E67-D01018BA3EFF} 9300' [1674:27D8][2012-01-18T14:14:55]: Setting string variable 'WixBundleName' to value 'Bootstrapper1' [1674:27D8][2012-01-18T14:14:55]: Setting string variable 'WixBundleLog' to value 'C:\Users\mls\AppData\Local\Temp\Bootstrapper1_20120118141455.log' [1674:27D8][2012-01-18T14:14:56]: Detect 1 packages [1674:27D8][2012-01-18T14:14:56]: Setting string variable 'jdk_version' to value '1.6' [1674:27D8][2012-01-18T14:14:56]: Detected related bundle: {b7d415d7-34f7-4657-a3eb-79d00d1fc6e4}, scope: PerMachine, version: 1.0.0.0, operation: None [1674:27D8][2012-01-18T14:14:56]: Condition 'jdk_version >= "1.6"' evaluates to true. [1674:27D8][2012-01-18T14:14:56]: Detected package: jdk_6u27_windows_x64.exe, state: Present, cached: No [1674:27D8][2012-01-18T14:14:56]: Detect complete, result: 0x0 [1674:27D8][2012-01-18T14:14:58]: Plan 1 packages, action: Uninstall [1674:27D8][2012-01-18T14:14:58]: Setting string variable 'WixBundleLog_jdk_6u27_windows_x64.exe' to value 'C:\Users\mls\AppData\Local\Temp\Bootstrapper1_20120118141455_0_jdk_6u27_windows_x64.exe.log' [1674:27D8][2012-01-18T14:14:58]: Setting string variable 'WixBundleRollbackLog_jdk_6u27_windows_x64.exe' to value 'C:\Users\mls\AppData\Local\Temp\Bootstrapper1_20120118141455_0_jdk_6u27_windows_x64.exe_rollback.log' [1674:27D8][2012-01-18T14:14:58]: Planned package: jdk_6u27_windows_x64.exe, state: Present, default requested: Absent, ux requested: Absent, execute: Uninstall, rollback: Install, cache: Yes, uncache: Yes, dependency: Unregister [1674:27D8][2012-01-18T14:14:58]: Plan complete, result: 0x0 [1674:27D8][2012-01-18T14:14:58]: Apply begin [1674:2500][2012-01-18T14:14:58]: Error 0x80004005: Failed to extract all files from container. [1674:1EBC][2012-01-18T14:14:58]: Error 0x80004005: Failed to wait for operation complete. [1674:1EBC][2012-01-18T14:14:58]: Error 0x80004005: Failed to open container. [1674:1EBC][2012-01-18T14:14:58]: Error 0x80004005: Failed to open container: WixAttachedContainer. [1674:1EBC][2012-01-18T14:14:58]: Failed to extract payloads from container: WixAttachedContainer to working path: (null), error: 0x80004005. [1674:1EBC][2012-01-18T14:14:58]: Error 0x80004005: Failed to cache packages. [1674:27D8][2012-01-18T14:14:58]: Error 0x80004005: Failed while waiting for cache thread to complete before executing. [1674:27D8][2012-01-18T14:14:58]: Apply complete, result: 0x80004005 restart: No ------------ What I see in the log, if I construe it right is, that the bootstrapper tried to uninstall a package that he didn't install, because it was already present. I guess that is not the wanted behavior, or did I miss something? Well the least problem is, that I can't get rid of the entry in programs and features... Regards Michel ------------------------------------------------------------------------------ Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users