Advanced: Create a Windows Installer EXE

Creating a Windows Installer using Nullsoft Scriptable Install System (NSIS)

If you need to install PixieBrix on Windows in an environment where Group Policies/ADMX are not supported, you can create an installer using the open-source Nullsoft Scriptable Install System (NSIS) framework.

The installer sets the Windows Registry keys, which control the browser extension installation and configuration policy.

Example NSIS script for Chrome

Name "PixieBrix Installer"
OutFile "PixieBrix-NoClient.exe"
RequestExecutionLevel admin  ; Require admin rights
SilentInstall silent

; Define pages only for non-silent installation
!include "MUI2.nsh"
    !insertmacro MUI_PAGE_DIRECTORY
    !insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"

Var /GLOBAL SilentInstall

Function .onInit
    ; Check if the installer is running in silent mode
    StrCmp $CMDLINE "/S" 0 +2
    StrCpy $SilentInstall "true"

Section "Install Chrome Extension" SecExtension
    SetShellVarContext all  ; Set to affect all users

    ; Create the registry key if it doesn't exist
    WriteRegStr HKLM "SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist" "10" "mpjjildhmpddojocokjkgmlkkkfjnepo;"

    ; Display a finished message only if not silent
    StrCmp $SilentInstall "true" +2
    ; MessageBox MB_OK "Chrome extension has been successfully registered."

Section "Uninstall"
    ; This is where uninstallation code would go, if necessary
    DeleteRegValue HKLM "SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist" "10"

Last updated