Than I tried to transform this with an MST file to get rid of shortcuts and a few features. However if I apply the MST later I get serious errors and this MST fails. I tried this with MS Orca and InstEd.
MS Orca does not display an error, but if you add it to the Group Policy in Active Directory the MST fail and cannot saved.
InstEd complains when it applies the MST directly.
Repro:
Open MSI
Create MST
Go into "Feature" table and change "Level" to 10 for WEBPLUGINS, ACTIVEX, MOZILLA
Save MST
Try to add to GPO - FAILS.
I'm attaching my MST as example.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
I'm also building MSI setups and can help. I never created a WiX setup that causes such issues. So I'm highly confused how this can happen. Something must be seriously broken inside the MSI.
Where can I find the WiX source code? Maybe I can fix it than and share the code with you.
I have downloaded the source code and found extras\package\win32, but none of the folders contains the main wix files. They are also not generated dynamically. A lot of files are for sure missing per msi.mak. config.wxi does not exits, too.
I just ran into this also and have some steps to reproduce - no need for an MST, just editing the MSI with common tools breaks it. I agree this is probably a WiX issue, with any luck just update to the latest version of WiX and it might go away, if not we can submit a bug to WiX. I have emailed the WiX Users email list to see if anyone can shine any light on this.
I haven't used WiX for about 6 years so it would take me a while to figure it all out again, but if there's no movement on this I could always try to build from source with the latest WiX.
Open the built MSI with Orca or Insted
Delete the desktop shortcut, save and reopen the package
Several tables are now corrupt (e.g. empty Icon table) and the MSI won't install
I have a workaround, very cumbersome but still quicker than repackaging your own MSI (took less than 5 minutes). Plus I could put this into a script when I find the time if it proves to be worth my while (i.e. if I see this with more packages).
Open a blank template MSI from the Windows Installer SDK
Bulk export all the tables from the old package with Insted, import into the new one
Update the Summary Information Stream to match the old package (I kept PackageCode unique though)
Do an msiexec /a admin install on the old package to unpack it
Put the PFiles folder next to the new package
In Insted Plus (buy it!) go to File Manager and rebuild the internal cab
I can now transform this to my hearts content. Knock yourselves out:
Thanks to packageologist for providing a workaround. Is there a list of changes needed to fix this properly?
Jean-Baptiste has indicated this is unlikely to be fixed without sponsorship, and that patches are welcome. Other commenters note that this appears to be an issue with WiX used when generating the MSI package.
Does anyone know actual problem, and possibly steps to resolve?
I just looked at the source for msi.mak and noticed that Wix is being run under Wine, which I doubt would be supported, nor a common method of building MSIs, so it could certainly explain things. I would try and build the MSI on Windows, with the latest stable version of the toolset.
WineHQ rates Wix as bronze, meaning it has limited functionality. There is a comment saying that the resulting MSI would not install on Windows due to something being missing from the summary stream, which sounds an awful lot like the issue seen here. Please try to build it on Windows anyhow, happy to help test the resulting package.
Jean-Baptiste, you mentioned this is very unlikely that we fix this without sponsorship, and I see we have the ability to donate money. What size of donation would get this looked at sooner?
I also ran into this issue today. Took me quite some time to understand it's not a bug in Orca...
I also implemented a workaround, based on what packageologist wrote. I just don't have "Insted", so I had find a similar prodecure with standard tools only. I used Orca.exe and WiMakCab.vbs from the Windows SDK.
Extract the files by creating an administrative installation point like this: msiexec /a vlc-3.0.4-win64.msi /qb TARGETDIR=C:\fixmsi
Open the original (broken) MSI in Orca and export all tables.
Create a new MSI in Orca and import all the tables exported in the last step.
Manually copy the Summary Information from the original MSI to the new MSI, but leave "compressed by default" unchecked.
Save the new MSI in Orca, replacing the small vlc-3.0.4-win64.msi in the administrave installation point.
Create a standalone MSI like this: cscript WiMakCab.vbs vlc-3.0.4-win64.msi product /L /C /U /E
To clean up, everything except the new MSI can be deleted.
For the fixed MSI, I have successfully created an MST file and deployed it with group policy.
Regarding the cause of the problem, I think the comments on WineHQ are quite clear. It seems to be a deficiency in Wine's msi.dll. To avoid it, you need to build the MSI on Windows or try a native msi.dll from Windows.