Libraries

This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
This commit is contained in:
Matt Nadareski
2026-03-21 16:26:56 -04:00
parent bec0aeb04c
commit 7689c6dd07
1495 changed files with 841 additions and 338 deletions

View File

@@ -0,0 +1,37 @@
namespace SabreTools.Data.Models.InstallShieldExecutable
{
/// <summary>
/// Set of attributes for each fileEntry in an InstallShield Executable
/// </summary>
public class FileEntry
{
/// <summary>
/// Name of the file
/// </summary>
/// <remarks>May only contain ASCII (7-bit) characters</remarks>
public string Name { get; set; } = string.Empty;
/// <summary>
/// Path of the file, seems to usually use \ filepaths
/// </summary>
/// <remarks>May only contain ASCII (7-bit) characters</remarks>
public string Path { get; set; } = string.Empty;
/// <summary>
/// Version of the file
/// </summary>
/// <remarks>May only contain ASCII (7-bit) characters</remarks>
public string Version { get; set; } = string.Empty;
/// <summary>
/// Length of the file. Stored in the installshield executable as a string.
/// </summary>
public ulong Length { get; set; }
/// <summary>
/// Offset of the file.
/// </summary>
/// <remarks>This is not stored in the installshield executable, but it needs to be stored here for extraction.</remarks>
public long Offset { get; set; }
}
}