From: SourceForge.net <no...@so...> - 2004-04-21 23:20:40
|
Bugs item #935057, was opened at 2004-04-14 09:57 Message generated for change (Comment added) made by robmen You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=642714&aid=935057&group_id=105970 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Mattie Casper (rezand) >Assigned to: Rob Mensching (robmen) Summary: dark /a doesn't work on orca.msi Initial Comment: After turning on dark's support for the /a switch, running dark on the orca.msi from MSI 3.0 beta2 results in the following error: Microsoft (R) MSI to Wix 2.0 Decompiler Version 0.1 Copyright (C) Microsoft Corporation 2003. All rights reserved. orca.msi dark.exe : fatal error DARK0000: Failed to get field count Stack Trace: at Microsoft.Tools.WindowsInstallerXml.Msi.Record.GetFieldC ount() at Microsoft.Tools.WindowsInstallerXml.Decompiler.ProcessO therTables(Hashtable coveredTables) at Microsoft.Tools.WindowsInstallerXml.Decompiler.ProcessPr oductElement(XmlWriter writer, Boolean writeDocumentElements) at Microsoft.Tools.WindowsInstallerXml.Decompiler.Decompil e(String inputPath, String outputPath) at Microsoft.Tools.WindowsInstallerXml.Tools.DarkMain..ctor (String[] args) at Microsoft.Tools.WindowsInstallerXml.Tools.Dark.Main (String[] args) This message happens as dark is processing the _MergeErrors table within Orca. I've seen this error on a bunch of MSI's and will try to get more information about it. ---------------------------------------------------------------------- >Comment By: Rob Mensching (robmen) Date: 2004-04-21 16:20 Message: Logged In: YES user_id=991639 GetFieldCount() in Record was confused, logic was backwards. ---------------------------------------------------------------------- Comment By: Mattie Casper (rezand) Date: 2004-04-14 12:24 Message: Logged In: YES user_id=342763 This appeared to be just a problem with GetFieldCount having a typo in its return test: public int GetFieldCount() { int size = MsiInterop.MsiRecordGetFieldCount (this.handle); if (0 < size) { throw new System.Runtime.InteropServices.ExternalException("Failed to get field count"); } .... } Should probably use "if (0 > size)" instead. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=642714&aid=935057&group_id=105970 |