[PR #27] [MERGED] Add extraction for installshield executables. #50

Open
opened 2026-01-29 21:16:46 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/SabreTools/SabreTools.Serialization/pull/27
Author: @HeroponRikiBestest
Created: 10/23/2025
Status: Merged
Merged: 10/23/2025
Merged by: @mnadareski

Base: mainHead: installshield-exe


📝 Commits (10+)

  • e2242fb Add extractor for installshield executables.
  • 616d2dd Add comment
  • a8c36f0 Fix intendation.
  • afc0b30 Ensure PRs recursively pull
  • 0c20542 Rebase
  • 6caf368 Fix formatting for parsex
  • 796c3d0 newline before obj.name
  • f89e92c Changed while loop check to a position vs length check
  • e64ad48 Specify type for chunkSize
  • 19d87ac declare chunksize as a const int outside of the loop

📊 Changes

4 files changed (+176 additions, -2 deletions)

View changed files

📝 .github/workflows/check_pr.yml (+2 -0)
SabreTools.Serialization/Models/InstallShieldExecutable/ExtractableFile.cs (+25 -0)
SabreTools.Serialization/Readers/InstallShieldExecutableFile.cs (+66 -0)
📝 SabreTools.Serialization/Wrappers/PortableExecutable.Extraction.cs (+83 -2)

📄 Description

Handles extraction for installshield executables. I know from experience that this probably won't work with earlier installshield executables that have MSIs inside, and potentially some other kind, but those also might be a different format anyways. Either way, the format is pretty simple and the only potential issues I'm worried about is whether something succeeds in getting the start of its overlay parsed like an installshield exe file entry.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/SabreTools/SabreTools.Serialization/pull/27 **Author:** [@HeroponRikiBestest](https://github.com/HeroponRikiBestest) **Created:** 10/23/2025 **Status:** ✅ Merged **Merged:** 10/23/2025 **Merged by:** [@mnadareski](https://github.com/mnadareski) **Base:** `main` ← **Head:** `installshield-exe` --- ### 📝 Commits (10+) - [`e2242fb`](https://github.com/SabreTools/SabreTools.Serialization/commit/e2242fb1e4459108acedc34df6163ed1fef2ad08) Add extractor for installshield executables. - [`616d2dd`](https://github.com/SabreTools/SabreTools.Serialization/commit/616d2ddc04b02a5ab2818097d8fafd4b216851de) Add comment - [`a8c36f0`](https://github.com/SabreTools/SabreTools.Serialization/commit/a8c36f0a2a09e2fab1aa8851baa2b7334133c7d5) Fix intendation. - [`afc0b30`](https://github.com/SabreTools/SabreTools.Serialization/commit/afc0b30e69df09379dcfce368f2df6abf74ed885) Ensure PRs recursively pull - [`0c20542`](https://github.com/SabreTools/SabreTools.Serialization/commit/0c2054254da0a2758ccd565c554b4a70196ff885) Rebase - [`6caf368`](https://github.com/SabreTools/SabreTools.Serialization/commit/6caf3683d9319ccbfce7c43e318912257b3f563c) Fix formatting for parsex - [`796c3d0`](https://github.com/SabreTools/SabreTools.Serialization/commit/796c3d0dfffb06ab88772a666f22e168131484fa) newline before obj.name - [`f89e92c`](https://github.com/SabreTools/SabreTools.Serialization/commit/f89e92c5f72061387aaa6559cc2ef9c8171f6eca) Changed while loop check to a position vs length check - [`e64ad48`](https://github.com/SabreTools/SabreTools.Serialization/commit/e64ad485ed751f8900e453f77c15764620bc18cd) Specify type for chunkSize - [`19d87ac`](https://github.com/SabreTools/SabreTools.Serialization/commit/19d87accb872ef14054bc7c6b41b20084f133606) declare chunksize as a const int outside of the loop ### 📊 Changes **4 files changed** (+176 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/check_pr.yml` (+2 -0) ➕ `SabreTools.Serialization/Models/InstallShieldExecutable/ExtractableFile.cs` (+25 -0) ➕ `SabreTools.Serialization/Readers/InstallShieldExecutableFile.cs` (+66 -0) 📝 `SabreTools.Serialization/Wrappers/PortableExecutable.Extraction.cs` (+83 -2) </details> ### 📄 Description Handles extraction for installshield executables. I know from experience that this probably won't work with earlier installshield executables that have MSIs inside, and potentially some other kind, but those also might be a different format anyways. Either way, the format is pretty simple and the only potential issues I'm worried about is whether something succeeds in getting the start of its overlay parsed like an installshield exe file entry. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 21:16:47 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SabreTools/SabreTools.Serialization#50