// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. namespace WixToolset.Data.WindowsInstaller.Rows { using System; using WixToolset.Data.Tuples; /// /// Specialization of a row for the WixBundleExePackage table. /// public sealed class WixBundleExePackageRow : Row { /// /// Creates a WixBundleExePackage row that does not belong to a table. /// /// Original source lines for this row. /// TableDefinition this row belongs to and should get its column definitions from. public WixBundleExePackageRow(SourceLineNumber sourceLineNumbers, TableDefinition tableDef) : base(sourceLineNumbers, tableDef) { } /// /// Creates a WixBundleExePackageRow row that belongs to a table. /// /// Original source lines for this row. /// Table this row belongs to and should get its column definitions from. public WixBundleExePackageRow(SourceLineNumber sourceLineNumbers, Table table) : base(sourceLineNumbers, table) { } /// /// Gets or sets the foreign key identifier to the ChainPackage row. /// public string ChainPackageId { get { return (string)this.Fields[0].Data; } set { this.Fields[0].Data = value; } } /// /// Gets or sets the raw Exe attributes of a patch. /// public WixBundleExePackageAttributes Attributes { get { return (WixBundleExePackageAttributes)this.Fields[1].Data; } set { this.Fields[1].Data = value; } } /// /// Gets or sets the protcol for the executable package. /// public string DetectCondition { get { return (string)this.Fields[2].Data; } set { this.Fields[2].Data = value; } } /// /// Gets or sets the install command for the executable package. /// public string InstallCommand { get { return (string)this.Fields[3].Data; } set { this.Fields[3].Data = value; } } /// /// Gets or sets the repair command for the executable package. /// public string RepairCommand { get { return (string)this.Fields[4].Data; } set { this.Fields[4].Data = value; } } /// /// Gets or sets the uninstall command for the executable package. /// public string UninstallCommand { get { return (string)this.Fields[5].Data; } set { this.Fields[5].Data = value; } } /// /// Gets or sets the protcol for the executable package. /// public string ExeProtocol { get { return (string)this.Fields[6].Data; } set { this.Fields[6].Data = value; } } /// /// Gets whether the executable package is repairable. /// public bool Repairable { get { return !String.IsNullOrEmpty(this.RepairCommand); } } } }