View Single Post
  #1  
Old 25-10-2024, 00:21
Lord.Freddy's Avatar
Lord.Freddy Lord.Freddy is offline
Registered User
 
Join Date: Apr 2022
Location: ...
Posts: 57
Thanks: 237
Thanked 51 Times in 27 Posts
Lord.Freddy is on a distinguished road
Post Inno Setup System Information Module

ISSystemInfo
A complete system-information module for Inno Setup

Detect OS, CPU, GPU, RAM, display and power/battery info from inside your installer — one line each.

v0.9 • Inno Setup 5 (ANSI & Unicode) → 7 • Windows Vista / Server 2008 and later

─────────────────────────────────────────────

What is it?

ISSystemInfo is a single, self-contained [Code] module for Inno Setup that gives your installer real, live answers about the machine it's running on — without writing a line of WinAPI code yourself. Drop the .iss file in, #include it, and call what you need.

It's built for real installer logic, not just for display: gate a large download behind a minimum DirectX/GPU requirement, skip a lengthy install step while the machine is running on battery, pick the right redistributable based on detected CPU architecture, or just log the full hardware profile for support tickets — all from a single function call. No external DLLs, no dependencies to ship — pure Pascal Script.

What can it tell you?

Operating System
  • Full OS name & edition (e.g. "Windows 11 Pro for Workstations", "Windows Server 2025")
  • Build number, major/minor version, service pack, and display version (22H2, 24H2, …)
  • Can also evaluate a hypothetical target OS

Processor
  • CPU brand string and architecture (x64, ARM64, x86 under WOW64, …)
  • Logical core count, live CPU usage %, and true max clock speed

Graphics
  • Full multi-GPU enumeration: name, vendor, VRAM, DirectX DDI version, feature levels, and shader model
  • Automatically flags the primary adapter and whether it's integrated or not

Memory
  • Installed vs. usable vs. currently available RAM, plus live usage %

Display
  • Primary monitor resolution, colour depth, refresh rate, and DPI scaling

Power
  • AC power / battery presence and charge percentage

Compatibility

Recommended: Windows Vista / Server 2008 or later.

Windows XP / Server 2003 is also supported — just define CompatibleWithWinXP before including the module:
Code:
#define CompatibleWithWinXP
Only two functions rely on Vista-only APIs and are automatically disabled when this define is set: GetSystemTotalInstalledMemory and GetOSEditionName. Everything else works exactly the same on XP as it does on 11.

Quick examples
[CODE]
Code:
procedure InitializeWizard;
begin
  if GetPrimaryGPUSupportDirectXVersion < 11.0 then
    MsgBox('Your graphics card may not meet the minimum requirements.', mbInformation, MB_OK);

  if not IsSysPluggedIn then
    if MsgBox('This install may take a while and your device isn''t plugged in. Continue anyway?', mbConfirmation, MB_YESNO) = IDNO then
      Abort;
end;
Download
ISSystemInfo v0.9.zip — full version history is in the changelog post.

Credits
Special thanks to Cesar82 for his help refining several parts of this module.

─────────────────────────────────────────────
Feedback, bug reports and feature requests are always welcome below.

Last edited by Lord.Freddy; 23-09-2026 at 12:38. Reason: Update for version 0.9
Reply With Quote
The Following 8 Users Say Thank You to Lord.Freddy For This Useful Post:
akhaleelbaloch (11-06-2026), buttignol (23-09-2026), Cesar82 (25-10-2024), ffmla (28-09-2026), Gehrman (01-11-2025), palievka (26-09-2026), Razor12911 (01-11-2025), ScOOt3r (25-10-2024)
Sponsored Links