本文整理汇总了C#中Microsoft.Tools.WindowsInstallerXml.Table类的典型用法代码示例。如果您正苦于以下问题:C# Table类的具体用法?C# Table怎么用?C# Table使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Table类属于Microsoft.Tools.WindowsInstallerXml命名空间,在下文中一共展示了Table类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: DecompileWixHttpUrlAceTable
/// <summary>
/// Decompile the WixHttpUrlAce table.
/// </summary>
/// <param name="table">The table to decompile.</param>
private void DecompileWixHttpUrlAceTable(Table table)
{
foreach (Row row in table.Rows)
{
Http.UrlAce urlace = new Http.UrlAce();
urlace.Id = (string)row[0];
urlace.SecurityPrincipal = (string)row[2];
switch (Convert.ToInt32(row[3]))
{
case HttpConstants.GENERIC_ALL:
default:
urlace.Rights = Http.UrlAce.RightsType.all;
break;
case HttpConstants.GENERIC_EXECUTE:
urlace.Rights = Http.UrlAce.RightsType.register;
break;
case HttpConstants.GENERIC_WRITE:
urlace.Rights = [email protected];
break;
}
string reservationId = (string)row[1];
Http.UrlReservation urlReservation = (Http.UrlReservation)this.Core.GetIndexedElement("WixHttpUrlReservation", reservationId);
if (null != urlReservation)
{
urlReservation.AddChild(urlace);
}
else
{
this.Core.OnMessage(WixWarnings.ExpectedForeignRow(row.SourceLineNumbers, table.Name, urlace.Id, "WixHttpUrlReservation_", reservationId, "WixHttpUrlReservation"));
}
}
}
开发者ID:zooba,项目名称:wix3,代码行数:37,代码来源:HttpDecompiler.cs
示例2: DecompileWixHttpUrlReservationTable
/// <summary>
/// Decompile the WixHttpUrlReservation table.
/// </summary>
/// <param name="table">The table to decompile.</param>
private void DecompileWixHttpUrlReservationTable(Table table)
{
foreach (Row row in table.Rows)
{
Http.UrlReservation urlReservation = new Http.UrlReservation();
urlReservation.Id = (string)row[0];
switch((int)row[1])
{
case HttpConstants.heReplace:
default:
urlReservation.HandleExisting = Http.UrlReservation.HandleExistingType.replace;
break;
case HttpConstants.heIgnore:
urlReservation.HandleExisting = Http.UrlReservation.HandleExistingType.ignore;
break;
case HttpConstants.heFail:
urlReservation.HandleExisting = Http.UrlReservation.HandleExistingType.fail;
break;
}
urlReservation.Sddl = (string)row[2];
urlReservation.Url = (string)row[3];
Wix.Component component = (Wix.Component)this.Core.GetIndexedElement("Component", (string)row[4]);
if (null != component)
{
component.AddChild(urlReservation);
}
else
{
this.Core.OnMessage(WixWarnings.ExpectedForeignRow(row.SourceLineNumbers, table.Name, row.GetPrimaryKey(DecompilerCore.PrimaryKeyDelimiter), "Component_", (string)row[2], "Component"));
}
this.Core.IndexElement(row, urlReservation);
}
}
开发者ID:zooba,项目名称:wix3,代码行数:38,代码来源:HttpDecompiler.cs
示例3: Add
/// <summary>
/// Adds a table to the collection.
/// </summary>
/// <param name="table">Table to add to the collection.</param>
/// <remarks>Indexes the table by name.</remarks>
public void Add(Table table)
{
if (null == table)
{
throw new ArgumentNullException("table");
}
this.collection.Add(table.Name, table);
}
开发者ID:bullshock29,项目名称:Wix3.6Toolset,代码行数:14,代码来源:TableCollection.cs
示例4: Row
/// <summary>
/// Creates a row that belongs to a table.
/// </summary>
/// <param name="sourceLineNumbers">Original source lines for this row.</param>
/// <param name="table">Table this row belongs to and should get its column definitions from.</param>
/// <remarks>The compiler should use this constructor exclusively.</remarks>
public Row(SourceLineNumberCollection sourceLineNumbers, Table table)
: this(sourceLineNumbers, (null != table ? table.Definition : null))
{
if (null == table)
{
throw new ArgumentNullException("table");
}
this.table = table;
}
开发者ID:bleissem,项目名称:wix3,代码行数:16,代码来源:Row.cs
示例5: DecompileSoftwareIdentificationTag
/// <summary>
/// Decompile the SoftwareIdentificationTag table.
/// </summary>
/// <param name="table">The table to decompile.</param>
private void DecompileSoftwareIdentificationTag(Table table)
{
foreach (Row row in table.Rows)
{
Tag.Tag tag = new Tag.Tag();
tag.Regid = (string)row[1];
this.Core.RootElement.AddChild(tag);
}
}
开发者ID:zooba,项目名称:wix3,代码行数:15,代码来源:TagDecompiler.cs
示例6: FileRow
/// <summary>
/// Creates a File row that belongs to a table.
/// </summary>
/// <param name="sourceLineNumbers">Original source lines for this row.</param>
/// <param name="table">Table this File row belongs to and should get its column definitions from.</param>
public FileRow(SourceLineNumberCollection sourceLineNumbers, Table table)
: base(sourceLineNumbers, table)
{
this.assemblyType = FileAssemblyType.NotAnAssembly;
this.previousSource = new string[1];
this.previousSymbols = new string[1];
this.previousRetainOffsets = new string[1];
this.previousRetainLengths = new string[1];
this.previousIgnoreOffsets = new string[1];
this.previousIgnoreLengths = new string[1];
}
开发者ID:zooba,项目名称:wix3,代码行数:16,代码来源:FileRow.cs
示例7: DecompileTable
/// <summary>
/// Decompiles an extension table.
/// </summary>
/// <param name="table">The table to decompile.</param>
public override void DecompileTable(Table table)
{
switch (table.Name)
{
case "SoftwareIdentificationTag":
this.DecompileSoftwareIdentificationTag(table);
break;
default:
base.DecompileTable(table);
break;
}
}
开发者ID:Jeremiahf,项目名称:wix3,代码行数:16,代码来源:TagDecompiler.cs
示例8: DecompileSoftwareIdentificationTag
/// <summary>
/// Decompile the SoftwareIdentificationTag table.
/// </summary>
/// <param name="table">The table to decompile.</param>
private void DecompileSoftwareIdentificationTag(Table table)
{
foreach (Row row in table.Rows)
{
Tag.Tag tag= new Tag.Tag();
tag.Regid = (string)row[1];
tag.Name = (string)row[2];
tag.Licensed = null == row[3] ? Tag.YesNoType.NotSet : 1 == (int)row[3] ? Tag.YesNoType.yes : Tag.YesNoType.no;
this.Core.RootElement.AddChild(tag);
}
}
开发者ID:Jeremiahf,项目名称:wix3,代码行数:17,代码来源:TagDecompiler.cs
示例9: DecompileTable
/// <summary>
/// Decompiles an extension table.
/// </summary>
/// <param name="table">The table to decompile.</param>
public override void DecompileTable(Table table)
{
switch (table.Name)
{
case "WixHttpUrlReservation":
this.DecompileWixHttpUrlReservationTable(table);
break;
case "WixHttpUrlAce":
this.DecompileWixHttpUrlAceTable(table);
break;
default:
base.DecompileTable(table);
break;
}
}
开发者ID:zooba,项目名称:wix3,代码行数:19,代码来源:HttpDecompiler.cs
示例10: CopyTableRowsToOutputTable
/// <summary>
/// Copies a table's rows to an output table.
/// </summary>
/// <param name="table">Source table to copy rows from.</param>
/// <param name="outputTable">Destination output table to copy rows into.</param>
/// <param name="sectionId">Id of the section that the table lives in.</param>
private void CopyTableRowsToOutputTable(Table table, OutputTable outputTable, string sectionId)
{
int[] localizedColumns = new int[table.Columns.Count];
int localizedColumnCount = 0;
// if there are localization strings, figure out which columns can be localized in this table
if (null != this.localizer)
{
for (int i = 0; i < table.Columns.Count; i++)
{
if (table.Columns[i].IsLocalizable)
{
localizedColumns[localizedColumnCount++] = i;
}
}
}
// process each row in the table doing the string resource substitutions
// then add the row to the output
foreach (Row row in table.Rows)
{
if (row.IsUnreal)
{
continue;
}
// localize all the values
for (int i = 0; i < localizedColumnCount; i++)
{
object val = row[localizedColumns[i]];
if (null != val)
{
row[localizedColumns[i]] = this.localizer.GetLocalizedValue(val.ToString());
}
}
outputTable.OutputRows.Add(new OutputRow(row, this.sectionIdOnTuples ? sectionId : null));
}
}
开发者ID:sillsdev,项目名称:FwSupportTools,代码行数:46,代码来源:Linker.cs
示例11: BBControlRow
/// <summary>
/// Creates a Control row that belongs to a table.
/// </summary>
/// <param name="sourceLineNumbers">Original source lines for this row.</param>
/// <param name="table">Table this Control row belongs to and should get its column definitions from.</param>
public BBControlRow(SourceLineNumberCollection sourceLineNumbers, Table table) :
base(sourceLineNumbers, table)
{
}
开发者ID:Jeremiahf,项目名称:wix3,代码行数:9,代码来源:BBControlRow.cs
示例12: ReduceTransform
/// <summary>
/// Reduce the transform according to the patch references.
/// </summary>
/// <param name="transform">transform generated by torch.</param>
/// <param name="patchRefTable">Table contains patch family filter.</param>
/// <returns>true if the transform is not empty</returns>
public static bool ReduceTransform(Output transform, Table patchRefTable)
{
// identify sections to keep
Hashtable oldSections = new Hashtable(patchRefTable.Rows.Count);
Hashtable newSections = new Hashtable(patchRefTable.Rows.Count);
Hashtable tableKeyRows = new Hashtable();
ArrayList sequenceList = new ArrayList();
Hashtable componentFeatureAddsIndex = new Hashtable();
Hashtable customActionTable = new Hashtable();
Hashtable directoryTableAdds = new Hashtable();
Hashtable featureTableAdds = new Hashtable();
ArrayList keptComponentTableAdds = new ArrayList();
Hashtable keptDirectories = new Hashtable();
Hashtable keptFeatures = new Hashtable();
foreach (Row patchRefRow in patchRefTable.Rows)
{
string tableName = (string)patchRefRow[0];
string key = (string)patchRefRow[1];
Table table = transform.Tables[tableName];
if (table == null)
{
// table not found
continue;
}
// index this table
if (!tableKeyRows.Contains(tableName))
{
Hashtable newKeyRows = new Hashtable();
foreach (Row newRow in table.Rows)
{
newKeyRows[newRow.GetPrimaryKey('/')] = newRow;
}
tableKeyRows[tableName] = newKeyRows;
}
Hashtable keyRows = (Hashtable)tableKeyRows[tableName];
Row row = (Row)keyRows[key];
if (row == null)
{
// row not found
continue;
}
// Differ.sectionDelimiter
string[] sections = row.SectionId.Split('/');
oldSections[sections[0]] = row;
newSections[sections[1]] = row;
}
// throw away sections not referenced
int keptRows = 0;
Table directoryTable = null;
Table featureTable = null;
foreach (Table table in transform.Tables)
{
if ("_SummaryInformation" == table.Name)
{
continue;
}
if (table.Name == "AdminExecuteSequence"
|| table.Name == "AdminUISequence"
|| table.Name == "AdvtExecuteSequence"
|| table.Name == "InstallUISequence"
|| table.Name == "InstallExecuteSequence")
{
sequenceList.Add(table);
continue;
}
for (int i = 0; i < table.Rows.Count; i++)
{
Row row = table.Rows[i];
if (table.Name == "CustomAction")
{
customActionTable.Add(row[0], row);
}
if (table.Name == "Directory")
{
directoryTable = table;
if (RowOperation.Add == row.Operation)
{
directoryTableAdds.Add(row[0], row);
}
}
if (table.Name == "Feature")
{
featureTable = table;
//.........这里部分代码省略.........
开发者ID:bullshock29,项目名称:Wix3.6Toolset,代码行数:101,代码来源:Patch.cs
示例13: DecompileSFPCatalogTable
/// <summary>
/// Decompile the SFPCatalog table.
/// </summary>
/// <param name="table">The table to decompile.</param>
private void DecompileSFPCatalogTable(Table table)
{
foreach (Row row in table.Rows)
{
Wix.SFPCatalog sfpCatalog = new Wix.SFPCatalog();
sfpCatalog.Name = Convert.ToString(row[0]);
sfpCatalog.SourceFile = Convert.ToString(row[1]);
this.core.IndexElement(row, sfpCatalog);
}
// nest the SFPCatalog elements
foreach (Row row in table.Rows)
{
Wix.SFPCatalog sfpCatalog = (Wix.SFPCatalog)this.core.GetIndexedElement(row);
if (null != row[2])
{
Wix.SFPCatalog parentSFPCatalog = (Wix.SFPCatalog)this.core.GetIndexedElement("SFPCatalog", Convert.ToString(row[2]));
if (null != parentSFPCatalog)
{
parentSFPCatalog.AddChild(sfpCatalog);
}
else
{
sfpCatalog.Dependency = Convert.ToString(row[2]);
this.core.RootElement.AddChild(sfpCatalog);
}
}
else
{
this.core.RootElement.AddChild(sfpCatalog);
}
}
}
开发者ID:bullshock29,项目名称:Wix3.6Toolset,代码行数:43,代码来源:Decompiler.cs
示例14: DecompileUITextTable
/// <summary>
/// Decompile the UIText table.
/// </summary>
/// <param name="table">The table to decompile.</param>
private void DecompileUITextTable(Table table)
{
foreach (Row row in table.Rows)
{
Wix.UIText uiText = new Wix.UIText();
uiText.Id = Convert.ToString(row[0]);
uiText.Content = Convert.ToString(row[1]);
this.core.UIElement.AddChild(uiText);
}
}
开发者ID:bullshock29,项目名称:Wix3.6Toolset,代码行数:17,代码来源:Decompiler.cs
示例15: DecompileVerbTable
/// <summary>
/// Decompile the Verb table.
/// </summary>
/// <param name="table">The table to decompile.</param>
private void DecompileVerbTable(Table table)
{
foreach (Row row in table.Rows)
{
Wix.Verb verb = new Wix.Verb();
verb.Id = Convert.ToString(row[1]);
if (null != row[2])
{
verb.Sequence = Convert.ToInt32(row[2]);
}
if (null != row[3])
{
verb.Command = Convert.ToString(row[3]);
}
if (null != row[4])
{
verb.Argument = Convert.ToString(row[4]);
}
this.core.IndexElement(row, verb);
}
}
开发者ID:bullshock29,项目名称:Wix3.6Toolset,代码行数:30,代码来源:Decompiler.cs
示例16: DecompileServiceInstallTable
/// <summary>
/// Decompile the ServiceInstall table.
/// </summary>
/// <param name="table">The table to decompile.</param>
private void DecompileServiceInstallTable(Table table)
{
foreach (Row row in table.Rows)
{
Wix.ServiceInstall serviceInstall = new Wix.ServiceInstall();
serviceInstall.Id = Convert.ToString(row[0]);
serviceInstall.Name = Convert.ToString(row[1]);
if (null != row[2])
{
serviceInstall.DisplayName = Convert.ToString(row[2]);
}
int serviceType = Convert.ToInt32(row[3]);
if (MsiInterop.MsidbServiceInstallInteractive == (serviceType & MsiInterop.MsidbServiceInstallInteractive))
{
serviceInstall.Interactive = Wix.YesNoType.yes;
}
if (MsiInterop.MsidbServiceInstallOwnProcess == (serviceType & MsiInterop.MsidbServiceInstallOwnProcess) &&
MsiInterop.MsidbServiceInstallShareProcess == (serviceType & MsiInterop.MsidbServiceInstallShareProcess))
{
// TODO: warn
}
else if (MsiInterop.MsidbServiceInstallOwnProcess == (serviceType & MsiInterop.MsidbServiceInstallOwnProcess))
{
serviceInstall.Type = Wix.ServiceInstall.TypeType.ownProcess;
}
else if (MsiInterop.MsidbServiceInstallShareProcess == (serviceType & MsiInterop.MsidbServiceInstallShareProcess))
{
serviceInstall.Type = Wix.ServiceInstall.TypeType.shareProcess;
}
int startType = Convert.ToInt32(row[4]);
if (MsiInterop.MsidbServiceInstallDisabled == startType)
{
serviceInstall.Start = Wix.ServiceInstall.StartType.disabled;
}
else if (MsiInterop.MsidbServiceInstallDemandStart == startType)
{
serviceInstall.Start = Wix.ServiceInstall.StartType.demand;
}
else if (MsiInterop.MsidbServiceInstallAutoStart == startType)
{
serviceInstall.Start = Wix.ServiceInstall.StartType.auto;
}
else
{
this.core.OnMessage(WixWarnings.IllegalColumnValue(row.SourceLineNumbers, table.Name, row.Fields[4].Column.Name, row[4]));
}
int errorControl = Convert.ToInt32(row[5]);
if (MsiInterop.MsidbServiceInstallErrorCritical == (errorControl & MsiInterop.MsidbServiceInstallErrorCritical))
{
serviceInstall.ErrorControl = Wix.ServiceInstall.ErrorControlType.critical;
}
else if (MsiInterop.MsidbServiceInstallErrorNormal == (errorControl & MsiInterop.MsidbServiceInstallErrorNormal))
{
serviceInstall.ErrorControl = Wix.ServiceInstall.ErrorControlType.normal;
}
else
{
serviceInstall.ErrorControl = Wix.ServiceInstall.ErrorControlType.ignore;
}
if (MsiInterop.MsidbServiceInstallErrorControlVital == (errorControl & MsiInterop.MsidbServiceInstallErrorControlVital))
{
serviceInstall.Vital = Wix.YesNoType.yes;
}
if (null != row[6])
{
serviceInstall.LoadOrderGroup = Convert.ToString(row[6]);
}
if (null != row[7])
{
string[] dependencies = NullSplitter.Split(Convert.ToString(row[7]));
foreach (string dependency in dependencies)
{
if (0 < dependency.Length)
{
Wix.ServiceDependency serviceDependency = new Wix.ServiceDependency();
if (dependency.StartsWith("+", StringComparison.Ordinal))
{
serviceDependency.Group = Wix.YesNoType.yes;
serviceDependency.Id = dependency.Substring(1);
}
else
{
serviceDependency.Id = dependency;
}
//.........这里部分代码省略.........
开发者ID:bullshock29,项目名称:Wix3.6Toolset,代码行数:101,代码来源:Decompiler.cs
示例17: DecompileTargetFiles_OptionalDataTable
/// <summary>
/// Decompile the TargetFiles_OptionalData table.
/// </summary>
/// <param name="table">The table to decompile.</param>
private void DecompileTargetFiles_OptionalDataTable(Table table)
{
foreach (Row row in table.Rows)
{
Wix.TargetFile targetFile = (Wix.TargetFile)this.patchTargetFiles[row[0]];
if (null == targetFile)
{
targetFile = new Wix.TargetFile();
targetFile.Id = Convert.ToString(row[1]);
Wix.TargetImage targetImage = (Wix.TargetImage)this.core.GetIndexedElement("TargetImages", Convert.ToString(row[0]));
if (null != targetImage)
{
targetImage.AddChild(targetFile);
}
else
{
this.core.OnMessage(WixWarnings.ExpectedForeignRow(row.SourceLineNumbers, table.Name, row.GetPrimaryKey(DecompilerCore.PrimaryKeyDelimiter), "Target", Convert.ToString(row[0]), "TargetImages"));
}
this.patchTargetFiles.Add(row.GetPrimaryKey(DecompilerCore.PrimaryKeyDelimiter), targetFile);
}
if (null != row[2])
{
string[] symbolPaths = (Convert.ToString(row[2])).Split(';');
foreach (string symbolPathString in symbolPaths)
{
Wix.SymbolPath symbolPath = new Wix.SymbolPath();
symbolPath.Path = symbolPathString;
targetFile.AddChild(symbolPath);
}
}
if (null != row[3] && null != row[4])
{
string[] ignoreOffsets = (Convert.ToString(row[3])).Split(',');
string[] ignoreLengths = (Convert.ToString(row[4])).Split(',');
if (ignoreOffsets.Length == ignoreLengths.Length)
{
for (int i = 0; i < ignoreOffsets.Length; i++)
{
Wix.IgnoreRange ignoreRange = new Wix.IgnoreRange();
if (ignoreOffsets[i].StartsWith("0x", StringComparison.Ordinal))
{
ignoreRange.Offset = Convert.ToInt32(ignoreOffsets[i].Substring(2), 16);
}
else
{
ignoreRange.Offset = Convert.ToInt32(ignoreOffsets[i], CultureInfo.InvariantCulture);
}
if (ignoreLengths[i].StartsWith("0x", StringComparison.Ordinal))
{
ignoreRange.Length = Convert.ToInt32(ignoreLengths[i].Substring(2), 16);
}
else
{
ignoreRange.Length = Convert.ToInt32(ignoreLengths[i], CultureInfo.InvariantCulture);
}
targetFile.AddChild(ignoreRange);
}
}
else
{
// TODO: warn
}
}
else if (null != row[3] || null != row[4])
{
// TODO: warn about mismatch between columns
}
// the RetainOffsets column is handled in FinalizeFamilyFileRangesTable
}
}
开发者ID:bullshock29,项目名称:Wix3.6Toolset,代码行数:86,代码来源:Decompiler.cs
示例18: WixBundleRow
/// <summary>
/// Creates a WixBundleRow row that belongs to a table.
/// </summary>
/// <param name="sourceLineNumbers">Original source lines for this row.</param>
/// <param name="table">Table this WixBundleRow row belongs to and should get its column definitions from.</param>
public WixBundleRow(SourceLineNumberCollection sourceLineNumbers, Table table)
: base(sourceLineNumbers, table)
{
}
开发者ID:zooba,项目名称:wix3,代码行数:9,代码来源:WixBundleRow.cs
示例19: DecompileShortcutTable
/// <summary>
/// Decompile the Shortcut table.
/// </summary>
/// <param name="table">The table to decompile.</param>
private void DecompileShortcutTable(Table table)
{
foreach (Row row in table.Rows)
{
Wix.Shortcut shortcut = new Wix.Shortcut();
shortcut.Id = Convert.ToString(row[0]);
shortcut.Directory = Convert.ToString(row[1]);
string[] names = Installer.GetNames(Convert.ToString(row[2]));
if (null != names[0] && null != names[1])
{
shortcut.ShortName = names[0];
shortcut.Name = names[1];
}
else if (null != names[0])
{
shortcut.Name = names[0];
}
string target = Convert.ToString(row[4]);
if (target.StartsWith("[", StringComparison.Ordinal) && target.EndsWith("]", StringComparison.Ordinal))
{
// TODO: use this value to do a "more-correct" nesting under the indicated File or CreateDirectory element
shortcut.Target = target;
}
else
{
shortcut.Advertise = Wix.YesNoType.yes;
// primary feature is set in FinalizeFeatureComponentsTable
}
if (null != row[5])
{
shortcut.Arguments = Convert.ToString(row[5]);
}
if (null != row[6])
{
shortcut.Description = Convert.ToString(row[6]);
}
if (null != row[7])
{
shortcut.Hotkey = Convert.ToInt32(row[7]);
}
if (null != row[8])
{
shortcut.Icon = Convert.ToString(row[8]);
}
if (null != row[9])
{
shortcut.IconIndex = Convert.ToInt32(row[9]);
}
if (null != row[10])
{
switch (Convert.ToInt32(row[10]))
{
case 1:
shortcut.Show = Wix.Shortcut.ShowType.normal;
break;
case 3:
shortcut.Show = Wix.Shortcut.ShowType.maximized;
break;
case 7:
shortcut.Show = Wix.Shortcut.ShowType.minimized;
break;
default:
this.core.OnMessage(WixWarnings.IllegalColumnValue(row.SourceLineNumbers, table.Name, row.Fields[10].Column.Name, row[10]));
break;
}
}
if (null != row[11])
{
shortcut.WorkingDirectory = Convert.ToString(row[11]);
}
// Only try to read the MSI 4.0-specific columns if they actually exist
if (15 < row.Fields.Length)
{
if (null != row[12])
{
shortcut.DisplayResourceDll = Convert.ToString(row[12]);
}
if (null != row[13])
{
shortcut.DisplayResourceId = Convert.ToInt32(row[13]);
}
//.........这里部分代码省略.........
开发者ID:bullshock29,项目名称:Wix3.6Toolset,代码行数:101,代码来源:Decompiler.cs
示例20: DecompileTypeLibTable
/// <summary>
/// Decompile the TypeLib table.
/// </summary>
/// <param name="table">The table to decompile.</param>
private void DecompileTypeLibTable(Table table)
{
foreach (Row row in table.Rows)
{
Wix.TypeLib typeLib = new Wix.TypeLib();
typeLib.Id = Convert.ToString(row[0]);
typeLib.Advertise = Wix.YesNoType.yes;
typeLib.Language = Convert.ToInt32(row[1]);
if (null != row[3])
{
int version = Convert.ToInt32(row[3]);
if (65536 == version)
{
this.core.OnMessage(WixWarnings.PossiblyIncorrectTypelibVersion(row.SourceLineNumbers, typeLib.Id));
}
typeLib.MajorVersion = ((version & 0xFFFF00) >> 8);
typeLib.MinorVersion = (version & 0xFF);
}
if (null != row[4])
{
typeLib.Description = Convert.ToString(row[4]);
}
if (null != row[5])
{
typeLib.HelpDirectory = Convert.ToString(row[5]);
}
if (null != row[7])
{
typeLib.Cost = Convert.ToInt32(row[7]);
}
// nested under the appropriate File element in FinalizeFileTable
this.core.IndexElement(row, typeLib);
}
}
开发者ID:bullshock29,项目名称:Wix3.6Toolset,代码行数:48,代码来源:Decompiler.cs
注:本文中的Microsoft.Tools.WindowsInstallerXml.Table类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论