diff --git a/SabreTools.Models/InstallShieldCabinet/Component.cs b/SabreTools.Models/InstallShieldCabinet/Component.cs
index d0e2ca2..d6c0341 100644
--- a/SabreTools.Models/InstallShieldCabinet/Component.cs
+++ b/SabreTools.Models/InstallShieldCabinet/Component.cs
@@ -31,19 +31,19 @@ namespace SabreTools.Models.InstallShieldCabinet
public string? DisplayName { get; set; }
///
- /// Reserved
+ /// Component status
///
- public ushort Reserved0 { get; set; }
+ public ComponentStatus Status { get; set; }
///
- /// Reserved offset
+ /// Offset to the password
///
- public uint ReservedOffset0 { get; set; }
+ public uint PasswordOffset { get; set; }
///
- /// Reserved offset
+ /// Misc offset
///
- public uint ReservedOffset1 { get; set; }
+ public uint MiscOffset { get; set; }
///
/// Component index
@@ -61,25 +61,24 @@ namespace SabreTools.Models.InstallShieldCabinet
public string? Name { get; set; }
///
- /// Reserved offset
+ /// Offset to the CD-ROM folder
///
- public uint ReservedOffset2 { get; set; }
+ public uint CDRomFolderOffset { get; set; }
///
- /// Reserved offset
+ /// Offset to the HTTP location
///
- public uint ReservedOffset3 { get; set; }
+ public uint HTTPLocationOffset { get; set; }
///
- /// Reserved offset
+ /// Offset to the FTP location
///
- public uint ReservedOffset4 { get; set; }
+ public uint FTPLocationOffset { get; set; }
///
- /// Reserved
+ /// Unknown GUIDs
///
- /// 32 bytes
- public byte[]? Reserved1 { get; set; }
+ public Guid[]? Guid { get; set; } = new Guid[2];
///
/// Offset to the component CLSID
@@ -94,7 +93,7 @@ namespace SabreTools.Models.InstallShieldCabinet
///
/// Reserved
///
- /// 28 bytes
+ /// 28 bytes, see CompAttrs
public byte[]? Reserved2 { get; set; }
///
@@ -154,23 +153,23 @@ namespace SabreTools.Models.InstallShieldCabinet
public uint NextComponentOffset { get; set; }
///
- /// Reserved offset
+ /// Offset to on installing text
///
- public uint ReservedOffset5 { get; set; }
+ public uint OnInstallingOffset { get; set; }
///
- /// Reserved offset
+ /// Offset to on installed text
///
- public uint ReservedOffset6 { get; set; }
+ public uint OnInstalledOffset { get; set; }
///
- /// Reserved offset
+ /// Offset to on uninstalling text
///
- public uint ReservedOffset7 { get; set; }
+ public uint OnUninstallingOffset { get; set; }
///
- /// Reserved offset
+ /// Offset to on uninstalled text
///
- public uint ReservedOffset8 { get; set; }
+ public uint OnUninstalledOffset { get; set; }
}
}
\ No newline at end of file
diff --git a/SabreTools.Models/InstallShieldCabinet/Enums.cs b/SabreTools.Models/InstallShieldCabinet/Enums.cs
index 643e3e2..6961781 100644
--- a/SabreTools.Models/InstallShieldCabinet/Enums.cs
+++ b/SabreTools.Models/InstallShieldCabinet/Enums.cs
@@ -2,6 +2,26 @@ using System;
namespace SabreTools.Models.InstallShieldCabinet
{
+ /// i6comp02
+ [Flags]
+ public enum ComponentStatus : ushort
+ {
+ ///
+ /// Critical
+ ///
+ COMP_STAT_CRITICAL = 0x01,
+
+ ///
+ /// Recommended
+ ///
+ COMP_STAT_RECOMMEND = 0x02,
+
+ ///
+ /// Standard
+ ///
+ COMP_STAT_STANDARD = 0x04,
+ }
+
///
[Flags]
public enum FileFlags : ushort