[wix-users] Simple bootstrapper crashing

Phill Hogland phill.hogland at rimage.com
Thu Apr 14 06:18:27 PDT 2016


>>Are there particular requirements that the packaged MSI file must meet to be run by Burn?   Maybe some specific properties?

Not to my knowledge. 

>>Yet when I run the bootstrapper, the log shows the Burn engine is still 3.10.2.   But I imagine that is a red-herring.
When I used 3.8 it did not report anything about 3.10.2 as 3.10.2 did not exist at the time.  I would dig deeper into a verbose build log to track this down.

When I tried to use the method documented for using the wix binaries I found that I had problems if a different version had also been installed on the build system.  I also ran into problems, even when I followed the documented approach, when I used certain SDK to create and use WixExtensions or use Lux tools.  So using the verbose build log I tracked down additional wix MSBuild properties that I make sure are set to the desired set of tool paths.  Also IIRC the paths to the SDK files are different in for the 3.9 binaries that they are for 3.9 or later.  (And I would figure out how to use 3.10.2 or later and not mess with 3.8.)

I use something like this for my debug repo:
  <PropertyGroup>
       <MyWixRepoPath Condition=" '$(Configuration)' == 'Debug' ">$(MyDirSl)9.2_Installs\Wix\Debug</MyWixRepoPath>
    <!-- Both WixExtDir and WixToolPath need to point to x86 even when building x64 -->
	<WixExtDir Condition=" '$(Configuration)' == 'Debug' ">$(MyWixRepoPath)\build\debug\x86\</WixExtDir>
    <WixToolPath Condition=" '$(Configuration)' == 'Debug' ">$(MyWixRepoPath)\build\debug\x86\</WixToolPath>
	<!-- Required to find the correct platform specific dll - difxapp or wixca -->
    <WixSdkPath Condition=" '$(Configuration)' == 'Debug' ">$(MyWixRepoPath)\build\debug\$(Platform)</WixSdkPath>
    <WixAllToolPath Condition=" '$(Configuration)' == 'Debug' ">$(MyWixRepoPath)\build\debug\</WixAllToolPath>
    <WixSrcPath Condition=" '$(Configuration)' == 'Debug' ">$(MyWixRepoPath)\src\</WixSrcPath>
    <WixTargetsPath Condition=" '$(Configuration)' == 'Debug' ">$(WixToolPath)\Wix.targets</WixTargetsPath>
    <WixTasksPath Condition=" '$(Configuration)' == 'Debug' ">$(WixToolPath)\wixtasks.dll</WixTasksPath>
    <LuxTargetsPath Condition=" '$(Configuration)' == 'Debug' ">$(WixToolPath)\Lux.targets</LuxTargetsPath>
    <LuxTasksPath Condition=" '$(Configuration)' == 'Debug' ">$(WixToolPath)\LuxTasks.dll</LuxTasksPath>
    <!-- Observed ICE validation errors when:  $(WIX) was set to default 3.7 installation	and the above Properties were set to Wix 3.8 in the SVN ...\Tools archive.-->
    <WIX Condition=" '$(Configuration)' == 'Debug' ">$(WixToolPath)</WIX>
  </PropertyGroup>



________________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of Arnette, Bill <bill.arnette at signalscape.com>
Sent: Thursday, April 14, 2016 6:34 AM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] Simple bootstrapper crashing

I actually started with 3.10.2 and got the crash so I tried reverting to 3.8.   In general I copy the WiX tools into my Subversion project and set the WixTargetsPath and WixInstallPath in the .wixproj to point to those tools with the following property group before the import of wix.targets...

  <PropertyGroup>
    <WixInstallPath>$(MSBuildProjectDirectory)\..\..\tools\wix3.8\</WixInstallPath>
    <WixTargetsPath>$(WixInstallPath)Wix.targets</WixTargetsPath>
  </PropertyGroup>
  <Import Project="$(WixTargetsPath)" />


This all works well (at least for the MSI)  and I can see in the VS output window that it is running the correct version of the tools and pulling in WixBalExtension.dll from the correct directory.   Yet when I run the bootstrapper, the log shows the Burn engine is still 3.10.2.   But I imagine that is a red-herring.

I am converting from the MSBuild bootstrapper which works fine to a Burn bootstrapper.    Are there particular requirements that the packaged MSI file must meet to be run by Burn?   Maybe some specific properties?

Thanks,
Bill

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Phill Hogland
Sent: Wednesday, April 13, 2016 5:33 PM
To: wix-users at lists.wixtoolset.org
Subject: Re: [wix-users] Simple bootstrapper crashing

I would enable MSBuild diagnostic level logging and evaluate the log created when building the project.  If using VS go to Tools\Options\Projects and Solutions\MSBuild project output verbosity.  If calling a MSBuild script then pass in the verbosity=diagnostics property.

Also you could unload your project file .wixproj and view it in an editor.  There will typically be code like
    <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
    <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>

Which I believe makes use of the Environment variable "WIX" which should be defined by the installer on your build system as the path to the tools to be used.  There are probably other details but I hope this helps you track down the issue.

I certainly would recommend using wix 3.10.2 or later, which addresses dll-hijacking security vulnerabilities in prior versions, including in wix 3.8.
________________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of Arnette, Bill <bill.arnette at signalscape.com>
Sent: Wednesday, April 13, 2016 4:00 PM
To: wix-users at lists.wixtoolset.org
Subject: [wix-users] Simple bootstrapper crashing

I have a VERY simple bootstrapper built with Wix 3.8 that crashes immediately on Windows 7


<?xml version="1.0" encoding="UTF-8"?>

<?define msiPackage=$(var.ProjectDir)..\MySetup\bin\$(var.Configuration)\MySetup.msi ?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="InterviewerBootstrapper" Version="1.0.0.0" Manufacturer="Me" UpgradeCode="59e67001-a9fa-4ce6-8520-69c4d7d7c17d" >
      <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" >
      </BootstrapperApplicationRef>
      <Chain>
         <MsiPackage Id="MainPackage"
                     SourceFile="$(var.msiPackage)"
                     Compressed="no"
                     Description="My app"
                     DisplayInternalUI="yes"
                     DisplayName="My app"
                     >
         </MsiPackage>
      </Chain>
   </Bundle>
</Wix>


The interesting this is that the log shows the Burn version as 3.10.2?!

5424:63AC][2016-04-13T16:48:11]i001: Burn v3.10.2.2516, Windows v6.1 (Build 7601: Service Pack 1), path: C:\Users\wta\AppData\Local\Temp\{2E4556E4-508E-4A8F-A0D4-488F9C1747CF}\.cr\InterviewerBootstrapper.exe
[5424:63AC][2016-04-13T16:48:11]i009: Command Line: '"-burn.clean.room=C:\Users\wta\Documents\Visual Studio 2012\Projects\Interviewer\trunk\installation\InterviewerBootstrapper\bin\Debug\InterviewerBootstrapper.exe"'
[5424:63AC][2016-04-13T16:48:11]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\Users\wta\Documents\Visual Studio 2012\Projects\Interviewer\trunk\installation\InterviewerBootstrapper\bin\Debug\InterviewerBootstrapper.exe'
[5424:63AC][2016-04-13T16:48:11]i000: Setting string variable 'WixBundleOriginalSourceFolder' to value 'C:\Users\wta\Documents\Visual Studio 2012\Projects\Interviewer\trunk\installation\InterviewerBootstrapper\bin\Debug\'
[5424:63AC][2016-04-13T16:48:11]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\wta\AppData\Local\Temp\InterviewerBootstrapper_20160413164811.log'
[5424:63AC][2016-04-13T16:48:11]i000: Setting string variable 'WixBundleName' to value 'InterviewerBootstrapper'
[5424:63AC][2016-04-13T16:48:11]i000: Setting string variable 'WixBundleManufacturer' to value 'Signalscape'
[5424:63AC][2016-04-13T16:48:12]i100: Detect begin, 1 packages
[5424:63AC][2016-04-13T16:48:12]i101: Detected package: MainPackage, state: Absent, cached: None
[5424:63AC][2016-04-13T16:48:12]i199: Detect complete, result: 0x0

I have tried ProcMon to see where Light may be pulling Burn.exe from but that doesn't show anything.   Is it embedded in WixStdBa.dll?

What am I missing here?

Thanks,

Bill
--------------------------- This email and any files transmitted with it are confidential and intended solely for the use of Signalscape, Inc. and the addressed individual or entity. If you have received this email in error please delete it. Information in this email may be subject to the Privacy Act of 1974 and any unauthorized review, use, disclosure, or distribution is strictly prohibited. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company.

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/
--------------------------- This email and any files transmitted with it are confidential and intended solely for the use of Signalscape, Inc. and the addressed individual or entity. If you have received this email in error please delete it. Information in this email may be subject to the Privacy Act of 1974 and any unauthorized review, use, disclosure, or distribution is strictly prohibited. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company.

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list