/// <summary> /// Decompile the HelpNamespace table. /// </summary> /// <param name="table">The table to decompile.</param> private void DecompileHelpNamespaceTable(Table table) { foreach (Row row in table.Rows) { VS.HelpCollection helpCollection = new VS.HelpCollection(); helpCollection.Id = (string)row[0]; helpCollection.Name = (string)row[1]; if (null != row[3]) { helpCollection.Description = (string)row[3]; } if (this.Core.RootElement is Wix.Module) { helpCollection.SuppressCustomActions = VS.YesNoType.yes; } Wix.File file = (Wix.File) this.Core.GetIndexedElement("File", (string)row[2]); if (null != file) { file.AddChild(helpCollection); } else if (0 != String.Compare(helpCollection.Id, "MS_VSIPCC_v80", StringComparison.Ordinal) && 0 != String.Compare(helpCollection.Id, "MS.VSIPCC.v90", StringComparison.Ordinal)) { this.Core.OnMessage(WixWarnings.ExpectedForeignRow(row.SourceLineNumbers, table.Name, row.GetPrimaryKey(DecompilerConstants.PrimaryKeyDelimiter), "File_Collection", (string)row[2], "File")); } this.Core.IndexElement(row, helpCollection); } }
/// <summary> /// Decompile the HelpFile table. /// </summary> /// <param name="table">The table to decompile.</param> private void DecompileHelpFileTable(Table table) { foreach (Row row in table.Rows) { VS.HelpFile helpFile = new VS.HelpFile(); helpFile.Id = (string)row[0]; helpFile.Name = (string)row[1]; if (null != row[2]) { helpFile.Language = (int)row[2]; } if (null != row[4]) { helpFile.Index = (string)row[4]; } if (null != row[5]) { helpFile.Search = (string)row[5]; } if (null != row[6]) { helpFile.AttributeIndex = (string)row[6]; } if (null != row[7]) { helpFile.SampleLocation = (string)row[7]; } if (this.Core.RootElement is Wix.Module) { helpFile.SuppressCustomActions = VS.YesNoType.yes; } Wix.File file = (Wix.File) this.Core.GetIndexedElement("File", (string)row[3]); if (null != file) { file.AddChild(helpFile); } else { this.Core.OnMessage(WixWarnings.ExpectedForeignRow(row.SourceLineNumbers, table.Name, row.GetPrimaryKey(DecompilerConstants.PrimaryKeyDelimiter), "File_HxS", (string)row[3], "File")); } } }
/// <summary> /// Decompile the WixGameExplorer table. /// </summary> /// <param name="table">The table to decompile.</param> private void DecompileWixGameExplorerTable(Table table) { foreach (Row row in table.Rows) { Gaming.Game game = new Gaming.Game(); game.Id = (string)row[0]; Wix.File file = (Wix.File) this.Core.GetIndexedElement("File", (string)row[1]); if (null != file) { file.AddChild(game); } else { this.Core.OnMessage(WixWarnings.ExpectedForeignRow(row.SourceLineNumbers, table.Name, row.GetPrimaryKey(DecompilerConstants.PrimaryKeyDelimiter), "File_", (string)row[1], "File")); } } }
/// <summary> /// Decompile the NetFxNativeImage table. /// </summary> /// <param name="table">The table to decompile.</param> private void DecompileNetFxNativeImageTable(Table table) { foreach (Row row in table.Rows) { NetFx.NativeImage nativeImage = new NetFx.NativeImage(); nativeImage.Id = (string)row[0]; switch ((int)row[2]) { case 0: nativeImage.Priority = NetFx.NativeImage.PriorityType.Item0; break; case 1: nativeImage.Priority = NetFx.NativeImage.PriorityType.Item1; break; case 2: nativeImage.Priority = NetFx.NativeImage.PriorityType.Item2; break; case 3: nativeImage.Priority = NetFx.NativeImage.PriorityType.Item3; break; } if (null != row[3]) { int attributes = (int)row[3]; if (0x1 == (attributes & 0x1)) { nativeImage.Debug = NetFx.YesNoType.yes; } if (0x2 == (attributes & 0x2)) { nativeImage.Dependencies = NetFx.YesNoType.no; } if (0x4 == (attributes & 0x4)) { nativeImage.Profile = NetFx.YesNoType.yes; } if (0x8 == (attributes & 0x8) && 0x10 == (attributes & 0x10)) { nativeImage.Platform = NetFx.NativeImage.PlatformType.all; } else if (0x8 == (attributes & 0x8)) { nativeImage.Platform = NetFx.NativeImage.PlatformType.Item32bit; } else if (0x10 == (attributes & 0x10)) { nativeImage.Platform = NetFx.NativeImage.PlatformType.Item64bit; } } if (null != row[4]) { nativeImage.AssemblyApplication = (string)row[4]; } if (null != row[5]) { nativeImage.AppBaseDirectory = (string)row[5]; } Wix.File file = (Wix.File) this.Core.GetIndexedElement("File", (string)row[1]); if (null != file) { file.AddChild(nativeImage); } else { this.Core.OnMessage(WixWarnings.ExpectedForeignRow(row.SourceLineNumbers, table.Name, row.GetPrimaryKey(DecompilerConstants.PrimaryKeyDelimiter), "File_", (string)row[1], "File")); } } }