NSIS Unicode (NSISw) installer implementing license-based provisioning. The installer collects a device identifier, validates the license key against a remote API, receives a device-specific download URL, downloads a ZIP payload, and extracts binary artifacts during installation. Installer configuration, texts, and branding are centralized in app.nsh for easy customization.
- Windows
- NSIS (Unicode / NSISw)
- Administrator privileges (required for installation and device identification)
- Network access (HTTPS) to the licensing API
- ZIP payload accessible via API-provided URL
- Installer is launched by the user.
- User enters a license key.
- Installer collects a device identifier (e.g. Windows MachineGuid or generated UUID).
- License key and device identifier are sent to the remote API.
- API validates the license and assigns a device ID.
- API returns a device-specific download URL.
- Installer downloads the ZIP payload from the provided URL.
- ZIP archive is extracted and binaries are installed.
- Installation completes.
sequenceDiagram
actor User
box windows-installer
participant Installer
end
User--)PC: Run
PC--)Installer: Run
User--)Installer: Choice destination folder
User--)Installer: Set installation key
Installer->>PC: Get machine guid
PC-->>Installer: xxxx-xxxx
Installer->>API: POST (key in auth header) Register device {"machineGuid": "xxxx-xxxx"}
API-->>Installer: HTTP 200 Success {"deviceId": "yyy", "url": "https://xx.x"} / 401 Unauthorized
Installer->>PC: Save unique key and device id in registry
Installer->>PC: Download zip form https://xx.x
Installer->>PC: Unpack zip
Installer->>PC: Finish installation
- The installer store registered device identifier.
- All API communication must use HTTPS.
- License validation and device assignment logic is enforced server-side.
- The API-provided download URL should be short-lived and device-bound.
- The installer assumes a zero-trust client model; all critical validation happens on the backend.
- Configuration and branding are isolated in app.nsh to avoid logic modification.
-
Installer icon:
installer.ico
Author:McDo Design (Susumu Yoshida)
License:MIT -
Uninstaller icon:
uninstaller.ico
Author:McDo Design (Susumu Yoshida)
License:MIT