From 8991cc460d24a9ec990547ddc95d8058856e967b Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 3 Oct 2024 02:49:47 -0400 Subject: [PATCH] Correct info for IS-CAB components --- .../InstallShieldCabinet/Component.cs | 47 +++++++++---------- .../InstallShieldCabinet/Enums.cs | 20 ++++++++ 2 files changed, 43 insertions(+), 24 deletions(-) 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