SysInfo plug-in for NSIS provides several functions that allow you to retrieve basic information about your computer. The creator of the installer (based on NSIS) can use the basic information to verify that the end user's system meets the specific hardware or software requirements.
Current version of plugin allows you to get data for several categories. Below, you can find all functions supported by plugin with description and example usage. More information about SysInfo plugin can be found in the file "SysInfoDemo.nsi", which is attached to the archive file of the SysInfo plugin.
SysInfo Plugin is based on WMI (Windows Management Instrumentation) - consists of a set of extensions to the Windows Driver Model that provides an operating system interface through which instrumented components provide information and notification. WMI is Microsoft's implementation of the Web-Based Enterprise Management (WBEM) and Common Information Model (CIM) standards from the Distributed Management Task Force (DMTF).
Function .onInit SysInfo::FunctionName "PARAM1" "PARAM2" ; Function can take parameters ; Parameters usage depends on given function (sometimes required) Pop $0 ; The function returns the retrieved value in the variable $0 ; The function returns "error" if there is an error. It can also return an empty string FunctionEnd
An operating system is a program that acts as an interface between the computer user and computer hardware, and controls the execution of programs. It manages all of the software and hardware on the computer. It performs basic tasks such as file, memory and process management, handling input and output, and controlling peripheral devices such as disk drives and printers.
1. Operating System Name ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Short description of the object—a one-line string (includes the operating system version) SysInfo::GetOperatingSystem_Caption Pop $0 DetailPrint " Operating System Name: $0" ; Microsoft Windows 10 Pro
2. Windows Manufacturer ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Name of the operating system manufacturer. For Windows-based systems, this value is "Microsoft Corporation" SysInfo::GetOperatingSystem_Manufacturer Pop $0 DetailPrint " Operating System Manufacturer: $0" ; Microsoft Corporation
3. Windows Version ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Version number of the operating system SysInfo::GetOperatingSystem_Version Pop $0 DetailPrint " Operating System Version: $0" ; 10.0.19044
4. Windows Build Number ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Build number of an operating system SysInfo::GetOperatingSystem_BuildNumber Pop $0 DetailPrint " Operating System Build Number: $0" ; 19044
5. Windows Language ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Language version of the operating system installed SysInfo::GetOperatingSystem_LanguageID Pop $0 DetailPrint " Operating System Language: $0" ; 1045
6. Windows Locale ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Language identifier used by the operating system (international numeric abbreviation for a country/region) SysInfo::GetOperatingSystem_Locale Pop $0 DetailPrint " Operating System Locale: $0" ; 0415
7. Windows Code Set ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Code page value an operating system uses (contains a character table used to translate strings for different languages) SysInfo::GetOperatingSystem_CodeSet Pop $0 DetailPrint " Operating System Code Set: $0" ; 1250
8. Windows Country Code ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Code for the country/region that an operating system uses. Values are based on international phone dialing prefixes SysInfo::GetOperatingSystem_CountryCode Pop $0 DetailPrint " Operating System Country Code: $0" ; 48
9. Windows Edition ID ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Operating System Edition ID SysInfo::GetOperatingSystem_EditionID Pop $0 DetailPrint " Operating System Edition ID: $0" ; Professional
10. Windows Display Version ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Operating System Display Version SysInfo::GetOperatingSystem_DisplayVersion Pop $0 DetailPrint " Operating System Display Version: $0" ; 21H2
11. Windows Update Build Revision (UBR) ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Operating System Update Build Revision (UBR) number SysInfo::GetOperatingSystem_UBR Pop $0 DetailPrint " Operating System UBR: $0" ; 2130
12. Windows ReleaseID ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Operating System ReleaseID SysInfo::GetOperatingSystem_ReleaseID Pop $0 DetailPrint " Operating System ReleaseID: $0" ; 2009
Central Processing Unit (CPU) is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and input/output operations specified by the instructions in the program. Principal components of a CPU include the Arithmetic-Logic Unit (ALU), Processor Registers (an extremely fast memory location) and a Control Unit (it regulates the flow of input and output).
1. CPU Name ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Label by which the object is known SysInfo::GetCPU_Name Pop $0 DetailPrint " CPU Name: $0" ; Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz
2. CPU Description ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Description of the object SysInfo::GetCPU_Description Pop $0 DetailPrint " CPU Description: $0" ; Intel64 Family 6 Model 60 Stepping 3
3. CPU Family ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Processor family type SysInfo::GetCPU_Family Pop $0 DetailPrint " CPU Family: $0" ; Intel(R) Core(TM) i7 processor
4. CPU Manufacturer ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Name of the processor manufacturer SysInfo::GetCPU_Manufacturer Pop $0 DetailPrint " CPU Manufacturer: $0" ; GenuineIntel
5. CPU Number of Cores ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Number of cores for the current instance of the processor. A core is a physical processor on the integrated circuit SysInfo::GetCPU_NumberOfCores Pop $0 DetailPrint " CPU Number of Cores: $0" ; 4
6. CPU Number of Logical Processors ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Number of logical processors for the current instance of the processor SysInfo::GetCPU_NumberOfLogicalProcessors Pop $0 DetailPrint " CPU Number of Logical Processors: $0" ; 8
7. CPU Architecture ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Processor architecture used by the platform SysInfo::GetCPU_Architecture Pop $0 DetailPrint " CPU Architecture: $0" ; x64
8. CPU Max Clock Speed (MHz) ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Maximum speed of the processor, in MHz SysInfo::GetCPU_ClockSpeed Pop $0 DetailPrint " CPU Max Clock Speed: $0" ; 2401
9. CPU External Clock (MHz) ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; External clock frequency, in MHz SysInfo::GetCPU_ExtClockSpeed Pop $0 DetailPrint " CPU External Clock: $0" ; 100
10. CPU L2 Cache Size (KiB) ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Size of the Level 2 processor cache (external memory area that has a faster access time than RAM memory) SysInfo::GetCPU_L2CacheSize Pop $0 DetailPrint " CPU L2 Cache Size: $0" ; 1024
11. CPU L3 Cache Size (KiB) ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Size of the Level 3 processor cache (external memory area that has a faster access time RAM memory) SysInfo::GetCPU_L3CacheSize Pop $0 DetailPrint " CPU L3 Cache Size: $0" ; 6144
Memory is a device or system that operates at a high speed and is used to store information for immediate use in a computer or related computer hardware and digital electronic devices. Besides storing opened programs, computer memory serves as disk cache to improve both reading and writing performance. If needed, contents of the computer memory can be transferred to storage (virtual memory).
1. Total Physical Memory ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = 0 -> Data in Bytes (Default) -> 17057247232 ; PARAM = 1 -> Formatted Data -> 15,89 GiB ; PARAM = 2 -> Fully Formatted Data -> 15,89 GiB (17057247232 bytes) ; Notes: ; - Function without param returns result in bytes (like PARAM=0) ; - Function returns "error" if something goes wrong ; Total amount of physical memory available to the operating system StrCpy $R0 "2" ; PARAM (Fully Formatted Data) SysInfo::GetRAM_TotalPhysicalMemory "$R0" Pop $0 DetailPrint " Total Physical Memory: $0" ; 15,89 GiB (17057247232 bytes)
2. Free Physical Memory ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = 0 -> Data in Bytes (Default) -> 10136122819 ; PARAM = 1 -> Formatted Data -> 9,44 GiB ; PARAM = 2 -> Fully Formatted Data -> 9,44 GiB (59,40%) ; Notes: ; - Function without param returns result in bytes (like PARAM=0) ; - Function returns "error" if something goes wrong ; Number of physical memory currently unused and available StrCpy $R0 "2" ; PARAM (Fully Formatted Data) SysInfo::GetRAM_FreePhysicalMemory "$R0" Pop $0 DetailPrint " Free Physical Memory: $0" ; 9,44 GiB (59,40%)
3. Used Physical Memory ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = 0 -> Data in Bytes (Default) -> 6921124413 ; PARAM = 1 -> Formatted Data -> 6,45 GiB ; PARAM = 2 -> Fully Formatted Data -> 6,45 GiB (40,58%) ; Notes: ; - Function without param returns result in bytes (like PARAM=0) ; - Function returns "error" if something goes wrong ; Number of physical memory currently used StrCpy $R0 "2" ; PARAM (Fully Formatted Data) SysInfo::GetRAM_UsedPhysicalMemory "$R0" Pop $0 DetailPrint " Used Physical Memory: $0" ; 6,45 GiB (40,58%)
4. Total Virtual Memory ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = 0 -> Data in Bytes (Default) -> 19327352832 ; PARAM = 1 -> Formatted Data -> 18,26 GiB ; PARAM = 2 -> Fully Formatted Data -> 18,26 GiB (19327352832 bytes) ; Notes: ; - Function without param returns result in bytes (like PARAM=0) ; - Function returns "error" if something goes wrong ; Number of virtual memory (amount of total RAM and amount of paging space) StrCpy $R0 "1" ; PARAM (Formatted Data) SysInfo::GetRAM_TotalVirtualMemory "$R0" Pop $0 DetailPrint " Total Virtual Memory: $0" ; 18,26 GiB
5. Free Virtual Memory ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = 0 -> Data in Bytes (Default) -> 10737418240 ; PARAM = 1 -> Formatted Data -> 10,67 GiB ; PARAM = 2 -> Fully Formatted Data -> 10,67 GiB (58,43%) ; Notes: ; - Function without param returns result in bytes (like PARAM=0) ; - Function returns "error" if something goes wrong ; Number of virtual memory currently unused and available StrCpy $R0 "1" ; PARAM (Formatted Data) SysInfo::GetRAM_FreeVirtualMemory "$R0" Pop $0 DetailPrint " Free Virtual Memory: $0" ; 10,67 GiB
6. Used Virtual Memory ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = 0 -> Data in Bytes (Default) -> 7516192768 ; PARAM = 1 -> Formatted Data -> 7,59 GiB ; PARAM = 2 -> Fully Formatted Data -> 7,59 GiB (41,57%) ; Notes: ; - Function without param returns result in bytes (like PARAM=0) ; - Function returns "error" if something goes wrong ; Number of virtual memory currently used StrCpy $R0 "1" ; PARAM (Formatted Data) SysInfo::GetRAM_UsedVirtualMemory "$R0" Pop $0 DetailPrint " Used Virtual Memory: $0" ; 7,59 GiB
7. Total PageFile Memory ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = 0 -> Data in Bytes (Default) -> 2550136832 ; PARAM = 1 -> Formatted Data -> 2,38 GiB ; PARAM = 2 -> Fully Formatted Data -> 2,38 GiB (2550136832 bytes) ; Notes: ; - Function without param returns result in bytes (like PARAM=0) ; - Function returns "error" if something goes wrong ; Actual amount of disk space allocated for use with this page file StrCpy $R0 "0" ; PARAM (Bytes) SysInfo::GetRAM_TotalPageFileMemory "$R0" Pop $0 DetailPrint " Total PageFile Memory: $0" ; 2550136832
8. Free PageFile Memory ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = 0 -> Data in Bytes (Default) -> 2483027968 ; PARAM = 1 -> Formatted Data -> 2,3 GiB ; PARAM = 2 -> Fully Formatted Data -> 2,3 GiB (97,37%) ; Notes: ; - Function without param returns result in bytes (like PARAM=0) ; - Function returns "error" if something goes wrong ; Amount of disk space currently unused by the page file StrCpy $R0 "0" ; PARAM (Bytes) SysInfo::GetRAM_FreePageFileMemory "$R0" Pop $0 DetailPrint " Free PageFile Memory: $0" ; 2483027968
9. Used PageFile Memory ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = 0 -> Data in Bytes (Default) -> 67108864 ; PARAM = 1 -> Formatted Data -> 64 MiB ; PARAM = 2 -> Fully Formatted Data -> 64 MiB (2,63%) ; Notes: ; - Function without param returns result in bytes (like PARAM=0) ; - Function returns "error" if something goes wrong ; Amount of disk space currently used by the page file StrCpy $R0 "0" ; PARAM (Bytes) SysInfo::GetRAM_UsedPageFileMemory "$R0" Pop $0 DetailPrint " Used PageFile Memory: $0" ; 67108864
10. Total Installed Memory ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = 0 -> Data in Bytes (Default) -> 17179869184 ; PARAM = 1 -> Formatted Data -> 16,00 GiB ; PARAM = 2 -> Fully Formatted Data -> 16,00 GiB (17179869184 bytes) ; Notes: ; - Function without param returns result in bytes (like PARAM=0) ; - Function returns "error" if something goes wrong ; Total capacity of the physical memory StrCpy $R0 "0" ; PARAM (Bytes) SysInfo::GetRAM_TotalInstalledMemory "$R0" Pop $0 DetailPrint " Total Installed Memory: $0" ; 17179869184
11. Total Reserved Memory ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = 0 -> Data in Bytes (Default) -> 122621952 ; PARAM = 1 -> Formatted Data -> 116.94 MiB ; PARAM = 2 -> Fully Formatted Data -> 116.94 MiB (122621952 bytes) ; Notes: ; - Function without param returns result in bytes (like PARAM=0) ; - Function returns "error" if something goes wrong ; Total capacity of reserved memory StrCpy $R0 "0" ; PARAM (Bytes) SysInfo::GetRAM_TotalReservedMemory "$R0" Pop $0 DetailPrint " Total Reserved Memory: $0" ; 122621952
A storage device is any type of computing hardware that is used for storing, porting or extracting data files and objects. Storage devices can hold and store information both temporarily and permanently. They may be internal or external to a computer, server or computing device. These types of devices include the hard disk (SSD, HDD), the optical disk drive, Floppy Disk Drive (FDD) and USB storage devices.
1. Storage Drive Type ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; The media type of the physical disk [Unspecified | HDD | SSD | SCM] StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DriveDiskMediaType "$R0" Pop $0 DetailPrint " Storage Drive Type: $0" ; SSD
2. Storage Volume Name ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Volume name of the logical disk StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_LogicalDiskVolumeName "$R0" Pop $0 DetailPrint " Volume Name: $0" ; System
3. Storage Volume Serial Number ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Volume serial number of the logical disk StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_LogicalDiskVolumeSerialNumber "$R0" Pop $0 DetailPrint " Volume Serial Number: $0" ; 43EFB0B2
4. Storage Disk File System ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; File system on the logical disk StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_LogicalDiskFileSystem "$R0" Pop $0 DetailPrint " File System: $0" ; NTFS
5. Storage Disk Drive Type ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Type of disk drive StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_LogicalDiskDriveType "$R0" Pop $0 DetailPrint " Disk Drive Type: $0" ; Local Disk
6. Storage Disk Media Type ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Type of media currently present in the logical drive StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_LogicalDiskMediaType "$R0" Pop $0 DetailPrint " Disk Media Type: $0" ; Fixed hard disk media
7. Storage Disk Drive Total Size ; Usage ; SysInfo::FunctionName "PARAM1" "PARAM2" ; PARAM1 = x: -> Disk Letter -> C: ; PARAM2 = 0 -> Data in Bytes (Default) -> 126701535232 ; PARAM2 = 1 -> Formatted Data -> 118,73 GiB ; PARAM2 = 2 -> Fully Formatted Data -> 118,73 GiB (126701535232 bytes) ; Notes: ; - First parameter (PARAM1) is obligatory (disk letter) ; - Second parameter (PARAM2) is optional. If empty/not used returns data in bytes (like PARAM2=0) ; - Function returns "error" if something goes wrong ; Total Size of the logical disk drive StrCpy $R0 "C:" ; PARAM1 (Disk Letter) StrCpy $R1 "2" ; PARAM2 (Fully Formatted Data) SysInfo::GetStorage_LogicalDiskSize "$R0" "$R1" Pop $0 DetailPrint " Disk Drive Total Size: $0" ; 118,73 GiB (126701535232 bytes)
8. Storage Disk Drive Free Space ; Usage ; SysInfo::FunctionName "PARAM1" "PARAM2" ; PARAM1 = x: -> Disk Letter -> C: ; PARAM2 = 0 -> Data in Bytes (Default) -> 22548578304 ; PARAM2 = 1 -> Formatted Data -> 21,27 GiB ; PARAM2 = 2 -> Fully Formatted Data -> 21,27 GiB (17,91%) ; Notes: ; - First parameter (PARAM1) is obligatory (disk letter) ; - Second parameter (PARAM2) is optional. If empty/not used returns data in bytes (like PARAM2=0) ; - Function returns "error" if something goes wrong ; Space available on the logical disk StrCpy $R0 "C:" ; PARAM1 (Disk Letter) StrCpy $R1 "2" ; PARAM2 (Fully Formatted Data) SysInfo::GetStorage_LogicalDiskFreeSpace "$R0" "$R1" Pop $0 DetailPrint " Disk Drive Free Space: $0" ; 21,27 GiB (17,91%)
9. Storage Disk Drive Used Space ; Usage ; SysInfo::FunctionName "PARAM1" "PARAM2" ; PARAM1 = x: -> Disk Letter -> C: ; PARAM2 = 0 -> Data in Bytes (Default) -> 104152956928 ; PARAM2 = 1 -> Formatted Data -> 97,46 GiB ; PARAM2 = 2 -> Fully Formatted Data -> 97,46 GiB (82,09%) ; Notes: ; - First parameter (PARAM1) is obligatory (disk letter) ; - Second parameter (PARAM2) is optional. If empty/not used returns data in bytes (like PARAM2=0) ; - Function returns "error" if something goes wrong ; Space used on the logical disk StrCpy $R0 "C:" ; PARAM1 (Disk Letter) StrCpy $R1 "2" ; PARAM2 (Fully Formatted Data) SysInfo::GetStorage_LogicalDiskUsedSpace "$R0" "$R1" Pop $0 DetailPrint " Disk Drive Used Space: $0" ; 97,46 GiB (82,09%)
10. Storage Drive Model ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Disk drive model StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveModel "$R0" Pop $0 DetailPrint " Drive Model: $0" ; Samsung SSD 850 PRO 512GB
11. Storage Drive Description ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Description of the object StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveDescription "$R0" Pop $0 DetailPrint " Drive Description: $0" ; Stacja dysków
12. Storage Drive Manufacturer ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Name of the disk drive manufacturer StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveManufacturer "$R0" Pop $0 DetailPrint " Drive Manufacturer: $0" ; (Standardowe stacje dysków)
13. Storage Drive Serial Number ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Number allocated by the manufacturer to identify the physical media StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveSerialNumber "$R0" Pop $0 DetailPrint " Drive Serial Number: $0" ; S2SXNSAFC07497R
14. Storage Drive Interface Type ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Interface type of physical disk drive StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveInterfaceType "$R0" Pop $0 DetailPrint " Drive Interface Type: $0" ; IDE
15. Storage Drive Media Type ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Type of media used or accessed by this device StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveMediaType "$R0" Pop $0 DetailPrint " Drive Media Type: $0" ; Fixed hard disk media
16. Storage Drive Total Cylinders ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Total number of cylinders on the physical disk drive StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveTotalCylinders "$R0" Pop $0 DetailPrint " Drive Total Cylinders: $0" ; 62260
17. Storage Drive Tracks/Cylinder ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Number of tracks in each cylinder on the physical disk drive StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveTracksPerCylinder "$R0" Pop $0 DetailPrint " Drive Tracks/Cylinder: $0" ; 255
18. Storage Drive Total Tracks ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Total number of tracks on the physical disk drive StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveTotalTracks "$R0" Pop $0 DetailPrint " Drive Total Tracks: $0" ; 15876300
19. Storage Drive Sectors/Track ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Number of sectors in each track for this physical disk drive StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveSectorsPerTrack "$R0" Pop $0 DetailPrint " Drive Sectors/Track: $0" ; 63
20. Storage Drive Total Sectors ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Total number of sectors on the physical disk drive StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveTotalSectors "$R0" Pop $0 DetailPrint " Drive Total Sectors: $0" ; 1000206900
21. Storage Drive Bytes/Sector ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Number of bytes in each sector for the physical disk drive StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveBytesPerSector "$R0" Pop $0 DetailPrint " Drive Bytes/Sector: $0" ; 512
22. Storage Drive Total Heads ; Usage ; SysInfo::FunctionName "PARAM" ; PARAM = x: -> Disk Letter -> C: ; Notes: ; - Parameter (PARAM) is obligatory (disk letter) ; - Function returns "error" if something goes wrong ; Total number of heads on the disk drive StrCpy $R0 "C:" ; PARAM (Disk Letter) SysInfo::GetStorage_DiskDriveTotalHeads "$R0" Pop $0 DetailPrint " Drive Total Heads: $0" ; 255
23. Storage Drive Size ; Usage ; SysInfo::FunctionName "PARAM1" "PARAM2" ; PARAM1 = x: -> Disk Letter -> C: ; PARAM2 = 0 -> Data in Bytes (Default) -> 512105932800 ; PARAM2 = 1 -> Formatted Data -> 476,94 GiB ; PARAM2 = 2 -> Fully Formatted Data -> 476,94 GiB (512105932800 bytes) ; Notes: ; - First parameter (PARAM1) is obligatory (disk letter) ; - Second parameter (PARAM2) is optional. If empty/not used returns data in bytes (like PARAM2=0) ; - Function returns "error" if something goes wrong ; Total Size of the disk drive StrCpy $R0 "C:" ; PARAM1 (Disk Letter) StrCpy $R1 "2" ; PARAM2 (Fully Formatted Data) SysInfo::GetStorage_DiskDriveSize "$R0" "$R1" Pop $0 DetailPrint " Drive Size: $0" ; 476,94 GiB (512105932800 bytes)
Graphics Card is an integrated circuit that generates the video signal sent to a computer display. The card is usually located on the computer motherboard or is a separate circuit board inserted into expansion slot (AGP, PCI Express), but is sometimes built into the computer display unit. It contains GPU (processor dedicated to creating images), digital-to-analog converter and memory chips that store display data.
1. Graphics Card Manufacturer ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Graphics Card Manufacturer SysInfo::GetVideoController_AdapterCompatibility Pop $0 DetailPrint " Graphics Card Manufacturer: $0" ; Intel Corporation
2. Adapter DAC Type ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Name or identifier of the digital-to-analog converter (DAC) chip SysInfo::GetVideoController_AdapterDACType Pop $0 DetailPrint " Adapter DAC Type: $0" ; Internal
3. Adapter RAM ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Memory size of the video adapter SysInfo::GetVideoController_AdapterRAM Pop $0 DetailPrint " Adapter RAM (Bytes): $0" ; 1073741824
4. Availability ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Availability and status of the device SysInfo::GetVideoController_Availability Pop $0 DetailPrint " Availability: $0" ; Running or Full Power
5. Current Bits/Pixel ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Number of bits used to display each pixel SysInfo::GetVideoController_CurrentBitsPerPixel Pop $0 DetailPrint " Current Bits Per Pixel: $0" ; 32
6. Current Horizontal Resolution ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Current number of horizontal pixels SysInfo::GetVideoController_CurrentHorizontalResolution Pop $0 DetailPrint " Current Horizontal Resolution [px]: $0" ; 2560
7. Current Vertical Resolution ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Current number of vertical pixels SysInfo::GetVideoController_CurrentVerticalResolution Pop $0 DetailPrint " Current Vertical Resolution [px]: $0" ; 1440
8. Current Number Of Colors ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Number of colors supported at the current resolution SysInfo::GetVideoController_CurrentNumberOfColors Pop $0 DetailPrint " Current Number Of Colors: $0" ; 4294967296
9. Current Refresh Rate ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Frequency at which the video controller refreshes the image for the monitor SysInfo::GetVideoController_CurrentRefreshRate Pop $0 DetailPrint " Current Refresh Rate [Hz]: $0" ; 60
10. Current Scan Mode ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Current scan mode SysInfo::GetVideoController_CurrentScanMode Pop $0 DetailPrint " Current Scan Mode: $0" ; Noninterlaced
11. Max Refresh Rate ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Maximum refresh rate of the video controller in hertz SysInfo::GetVideoController_MaxRefreshRate Pop $0 DetailPrint " Max Refresh Rate [Hz]: $0" ; 75
12. Min Refresh Rate ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Minimum refresh rate of the video controller in hertz SysInfo::GetVideoController_MinRefreshRate Pop $0 DetailPrint " Min Refresh Rate [Hz]: $0" ; 23
13. Graphics Card Name ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Label by which the object is known SysInfo::GetVideoController_Name Pop $0 DetailPrint " Graphics Card Name: $0" ; Intel(R) HD Graphics 4600
14. Video Architecture ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Type of video architecture SysInfo::GetVideoController_VideoArchitecture Pop $0 DetailPrint " Video Architecture: $0" ; VGA
A Network Adapter (Network Interface Controller) is a computer hardware component that connects a computer to a computer network. It implements the electronic circuitry required to communicate using a specific physical layer and data link layer (Ethernet, Wi-Fi). This provides a base for a full network protocol stack allowing communication among LAN computers and large-scale network communications through routable protocols (IP).
1. Network Adapter Name ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Label by which the object is known SysInfo::GetNetworkAdapterName Pop $0 DetailPrint " Network Adapter Name: $0" ; Realtek PCIe GBE Family Controller
2. Network Adapter Manufacturer ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Name of the network adapter's manufacturer SysInfo::GetNetworkAdapterManufacturer Pop $0 DetailPrint " Network Adapter Manufacturer: $0" ; Realtek
3. Network Adapter Type ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Network medium in use (Ethernet 802.3, Wide Area Network (WAN), Wireless, 1394, etc) SysInfo::GetNetworkAdapterAdapterType Pop $0 DetailPrint " Network Adapter Type: $0" ; Ethernet 802.3
4. MAC Address ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Media Access Control (MAC) address for this network adapter SysInfo::GetNetworkAdapterMACAddress Pop $0 DetailPrint " MAC Address: $0" ; 10:C3:7B:23:FA:4C
5. Default IP Gateway ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Array of IP addresses of default gateways that the computer system uses SysInfo::GetNetworkAdapterDefaultIPGateway Pop $0 DetailPrint " Default IP Gateway: $0" ; 192.168.0.1 / fe30::ae12:5ff:fec5:5a70
6. IP Address ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Array of all of the IP addresses associated with the current network adapter (IPv6 or IPv4) SysInfo::GetNetworkAdapterIPAddress Pop $0 DetailPrint " IP Address: $0" ; 192.168.0.21 / fe40::d060:34d1:aade:e890
7. IP Subnet ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Array of all of the subnet masks associated with the current network adapter SysInfo::GetNetworkAdapterIPSubnet Pop $0 DetailPrint " IP Subnet: $0" ; 255.255.255.0 / 64 / 128 / 64
8. DNS Server ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Array of server IP addresses to be used in querying for DNS servers SysInfo::GetNetworkAdapterDNSServerSearchOrder Pop $0 DetailPrint " DNS Server: $0" ; 1.1.1.1 / 1.0.0.1
9. DHCP Status (Enabled) ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Dynamic Host Configuration Protocol (DHCP) Server status SysInfo::GetNetworkAdapterDHCPEnabled Pop $0 DetailPrint " DHCP Status (Enabled): $0" ; True
10. DHCP Server ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; IP address of the dynamic host configuration protocol (DHCP) server SysInfo::GetNetworkAdapterDHCPServer Pop $0 DetailPrint " DHCP Server: $0" ; 192.168.0.1
11. Net Status (Enabled) ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Indicates whether the adapter is enabled or not SysInfo::GetNetworkAdapterNetEnabled Pop $0 DetailPrint " Net Status (Enabled): $0" ; True
12. Net Connection ID ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Name of the network connection as it appears in the Network Connections Control Panel SysInfo::GetNetworkAdapterNetConnectionID Pop $0 DetailPrint " Net Connection ID: $0" ; Ethernet
13. Net Connection Status ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; State of the network adapter connection to the network SysInfo::GetNetworkAdapterNetConnectionStatus Pop $0 DetailPrint " Net Connection Status: $0" ; Connected
14. Service Name ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Service name of the network adapter SysInfo::GetNetworkAdapterServiceName Pop $0 DetailPrint " Service Name: $0" ; rt640x64
15. Speed ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Estimate of the current bandwidth in bits per second SysInfo::GetNetworkAdapterSpeed Pop $0 DetailPrint " Speed [bit/s]: $0" ; 1000000000
16. Bytes Received ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Rate at which bytes are received on the interface, including framing characters SysInfo::GetNetworkAdapterBytesReceivedPersec Pop $0 DetailPrint " Received Bytes [B/s]: $0" ; 1106240307
17. Bytes Sent ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Rate at which bytes are sent on the interface, including framing characters SysInfo::GetNetworkAdapterBytesSentPersec Pop $0 DetailPrint " Sent Bytes [B/s]: $0" ; 35305629
18. Total Bytes ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Rate at which bytes are sent and received on the interface, including framing characters SysInfo::GetNetworkAdapterBytesTotalPersec Pop $0 DetailPrint " Total Bytes [B/s]: $0" ; 1141545936
Trusted Platform Module (TPM) is an international standard for a secure cryptoprocessor, a dedicated microcontroller designed to secure hardware through integrated cryptographic keys. The term can also refer to a chip conforming to the standard. TPM is used for digital rights management (DRM), Windows Defender, Windows Domain logon, protection and enforcement of software licenses, and prevention of cheating in online games.
1. TPM Status (Activated) ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Indicates whether the TPM is activated SysInfo::GetTrustedPlatformModule_IsActivated_InitialValue Pop $0 DetailPrint " TPM Status (Activated): $0" ; True
2. TPM Status (Enabled) ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Indicates whether the TPM is enabled SysInfo::GetTrustedPlatformModule_IsEnabled_InitialValue Pop $0 DetailPrint " TPM Status (Enabled): $0" ; True
3. TPM Status (Owned) ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Indicates whether the TPM has an owner SysInfo::GetTrustedPlatformModule_IsOwned_InitialValue Pop $0 DetailPrint " TPM Status (Owned): $0" ; True
4. TPM Specification Version (TCG) ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; The version of the Trusted Computing Group (TCG) specification that the TPM supports SysInfo::GetTrustedPlatformModule_SpecVersion Pop $0 DetailPrint " TPM Specification Version (TCG): $0" ; 2.0, 0, 1.38
5. TPM Manufacturer Version ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; The version of the TPM, as specified by the manufacturer SysInfo::GetTrustedPlatformModule_ManufacturerVersion Pop $0 DetailPrint " TPM Manufacturer Version: $0" ; 7.85.4555.0
6. TPM Manufacturer Version Info ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Other manufacturer-specific version information for the TPM SysInfo::GetTrustedPlatformModule_ManufacturerVersionInfo Pop $0 DetailPrint " TPM Manufacturer Version Info: $0" ; SLB9670
7. TPM Manufacturer ID ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; The identifying information that uniquely names the TPM manufacturer SysInfo::GetTrustedPlatformModule_ManufacturerId Pop $0 DetailPrint " TPM Manufacturer ID: $0" ; 1229346816
8. TPM Physical Presence Version ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Manufacturer-specific version information for the TPM SysInfo::GetTrustedPlatformModule_PhysicalPresenceVersionInfo Pop $0 DetailPrint " TPM Physical Presence Version: $0" ; 1.3
Secure boot is a security standard developed by members of the PC industry to help make sure that a device boots using only software that is trusted by the Original Equipment Manufacturer (OEM). When the PC starts, the firmware checks the signature of each piece of boot software, including UEFI firmware drivers (also known as Option ROMs), EFI applications, and the operating system. If the signatures are valid, the PC boots, and the firmware gives control to the operating system.
1. Secure Boot Status ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; Secure Boot Status (0-Disabled | 1-Enabled | Empty string = no info) SysInfo::GetSecureBootStatus Pop $0 DetailPrint " Secure Boot Status: $0" ; 0
The Unified Extensible Firmware Interface (UEFI) is a publicly available specification that defines a software interface between an operating system and platform firmware. UEFI replaces the legacy Basic Input/Output System (BIOS) boot firmware originally present in all IBM PC-compatible personal computers, with most UEFI firmware implementations providing support for legacy BIOS services. UEFI can support remote diagnostics and repair of computers, even with no operating system installed.
1. UEFI Boot Mode Status ; Usage ; SysInfo::FunctionName ; Notes: ; - Function returns "error" if something goes wrong ; UEFI Boot Mode Status (0-Legacy BIOS | 1-UEFI | Empty string = no info) SysInfo::GetUEFIBootModeStatus Pop $0 DetailPrint " UEFI Boot Mode Status: $0" ; 1
Release Date: | November 4, 2022 (Downloaded: 347 times) |
Version: | 2.0.0.0 |
Architecture: | Windows (NSIS 32/64-Bit Unicode) |
License: | Freeware |
Copyright: | Copyright © 2016 - 2024 Paweł Porwisz |
File Size: | 858 KB (879571 bytes) |
Hash (SHA256): | f3828ac0e52884466ef406a56274d34ca0a1198e85508d614fabb32aef4694fc |
NSIS SysInfo Plugin
Copyright © 2016 - 2024 Paweł Porwisz
All rights reserved
INSTALLATION OR USE OF THE NSIS PLUGIN INDICATES YOUR ASSENT TO THE FOLLOWING LICENSE AGREEMENT.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.