wixtoolset / issues

WiX Toolset Issues Tracker
http://wixtoolset.org/
129 stars 24 forks source link

dark.exe crash on buggy msi #948

Closed wixbot closed 8 years ago

wixbot commented 18 years ago

When running dark.exe (v. 3.0.2128) on a buggy msi, I get the following stack trace. Version 2 gave me other warnings, and did not crash. Let me know i case you need the bugy msi. I may be allowed to provide it.

dark.exe : error DARK0001 : Cannot set column 'KeyColumn' with value 0 because it is less than the minimum allowed value for this column, 1.

Exception Type: System.InvalidOperationException

Stack Trace: ved Microsoft.Tools.WindowsInstallerXml.ColumnDefinition.ValidateValue(Object value) ved Microsoft.Tools.WindowsInstallerXml.Unbinder.UnbindDatabase(String databaseFile, Database database, OutputType outputType, String exportBasePath) ved Microsoft.Tools.WindowsInstallerXml.Unbinder.UnbindDatabase(String databaseFile, OutputType outputType, String exportBasePath) ved Microsoft.Tools.WindowsInstallerXml.Unbinder.Unbind(String file, OutputType outputType, String exportBasePath) ved Microsoft.Tools.WindowsInstallerXml.Tools.Dark.Run(String[] args)

bq. Originally opened by @jarlen@ from "http://sourceforge.net/p/wix/bugs/701/":http://sourceforge.net/p/wix/bugs/701/

wixbot commented 12 years ago

Thanks for letting us know!

wixbot commented 12 years ago

Originator: NO

1588378 (closed as dup) mentions WSE3 runtime as one example. Another is MS Flight Sim X. The problem seems common with InstallShield-generated installers. The cause is a funky _Validation table, which has null KeyTable values with 0 KeyColumn values for IS custom tables. (Both should be null and 0 is out of 1-32 range per a row in the very same _Validation table.) The WiX Field setter is validating the data per the column definition and properly failing. We need to add optional validation and a switch for dark.

wixbot commented 12 years ago

Originator: NO

BTW, one workaround is delete the 0 column values in the _Validation table.

wixbot commented 12 years ago

Thanks!

That fix appears to have done it for my two test files.

wixbot commented 12 years ago

This Tracker item was closed automatically by the system. It was previously set to a Pending status, and the original submitter did not respond within 21 days (the time period specified by the administrator of this Tracker).

wixbot commented 12 years ago

Do you have any ETA on that validation switch? We would like to use Torch to generate patches and we need compatibility with previous, InstallShield generated, msi files.

wixbot commented 12 years ago

I'm not asking for an ETA, but just wanting to add my support to this bug. I'm trying to transition the installer process for MapGuide Open Source from Autodesk (who were using InstallShield) to the open source community, and being able to reverse engineer the existing installers would be incredibly useful.