When decompiling merge modules created by Microsoft Visual Studio Installer
1.1 Dark is giving the following error:
Decompiling the ModuleSignature table.
dark.exe : error DARK0001 : Unable to cast object of type 'System.Int32' to type 'System.String'.
Exception Type: System.InvalidCastException Stack Trace:
at
Microsoft.Tools.WindowsInstallerXml.Decompiler.DecompileModuleSignatureTable
(Table table)
at Microsoft.Tools.WindowsInstallerXml.Decompiler.DecompileTables(Output
output)
at Microsoft.Tools.WindowsInstallerXml.Decompiler.Decompile(Output output) at Microsoft.Tools.WindowsInstallerXml.Tools.Dark.Run(String[] args) Further analysis shows this is because the schema of the ModuleSignature table is slightly different to what Dark is expecting - in particular the "Version" column is defined as string length 72 Nullable instead of String length 32 not nullable.
A work around is to edit the offending msm with Orca. Go to ModuleSignature table, highlight and cut the single row, right click ad "Adjust Schema", change Version to length 32 and remove tick in Nullable, apply and then paste the single row back and save the msm.
However it would help if Dark was more relaxed about this difference - maybe reporting a warning - as the data in the columns is fine
Can you attach a small sample? This isn't a problem with recent builds of WiX and VS.
Here is a minimal MSM that shows the error - this has no files in it.
Error is present with Dark from build 3.0.4603.0 which at point of testing was latest weekly build.
The merge module is built with the old Visual Studio Installer version 1.1 which was a downloadable add on for Visual Studio 6. I know this is out dated - but that is the very reason that old merge modules from it need decompiling so they can be replaced with WiX versions.
File Added: DarkError.msm
MSM file that shows Dark Error
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).