wixwindows-installerwixl

Simple WIXL config to copy over and execute exe


I am trying to put together a simple wixl config. I have a 150mb exe, and I need to generate an MSI for easier deployment. When run, the MSI just needs to copy embedded exe over to the system and execute it, that's it.

Here is what I have for the config: https://gist.github.com/defensivedepth/d29b8c2a4c846cc5520446f6650f2d2d

When I test the MSI, I end up with:

MSI (s) (A4:C0) [14:29:22:468]: Executing op: FileCopy(SourceName=custom_installer.exe,SourceCabKey=EXEFile,DestName=custom_installer.exe,Attributes=512,FileSize=157495808,PerTick=65536,,VerifyMedia=1,,,,,CheckCRC=0,,,InstallMode=58982400,HashOptions=0,HashPart1=-157916039,HashPart2=1191719925,HashPart3=2041815197,HashPart4=-361054475,,)
MSI (s) (A4:C0) [14:29:22:468]: File: C:\Users\ONIONU~1\AppData\Local\Temp\TempInstall\custom_installer.exe;    To be installed;    Won't patch;    No existing file
MSI (s) (A4:C0) [14:29:22:468]: Source for file 'EXEFile' is compressed
MSI (s) (A4:C0) [14:29:22:765]: Note: 1: 1335 2: app.cab 
MSI (s) (A4:C0) [14:29:23:015]: Note: 1: 1335 2: app.cab 
MSI (s) (A4:C0) [14:29:23:249]: Note: 1: 1335 2: app.cab 
MSI (s) (A4:C0) [14:29:23:484]: Note: 1: 1335 2: app.cab 
MSI (s) (A4:C0) [14:29:23:718]: Note: 1: 1335 2: app.cab 
MSI (s) (A4:C0) [14:29:23:953]: Note: 1: 1335 2: app.cab 
MSI (s) (A4:C0) [14:29:23:953]: Note: 1: 2262 2: Error 3: -2147287038 

Using 7zip, I can extract the exe from the MSI and manually execute, so I know that it is not corrupted.

Full installer log: https://gist.github.com/defensivedepth/7c7e62b92417d4210fc7196c110293e7

Any ideas?


Solution

  • The design of WIXL is that it's a WiX like compiler that only understands a subset of the WiX schema and doesn't perform MSI validation post build.

    I while I didn't investigate the orginal error I did spend two hours with Josh to reproduce his MSI from scratch and then work backwards until WIXL was happy. The result can be found at:

    https://github.com/defensivedepth/msi-testing/blob/dev/wixl/Product.wxs