Table of Contents

Deployment options

Distribute the signed MSI with Deploy-Paperweight.ps1, Detect-Paperweight.ps1, and site-specific policy. The MSI installs the self-contained application per machine. Scanner drivers are a separate vendor deployment. Use the wrapper for maintenance on active endpoints so it can request a safe stop.

Manual MSI and deployment wrapper

Run from an elevated 64-bit PowerShell session in the deployment kit directory. Replace the illustrative publisher thumbprint with the approved release certificate thumbprint.

.\Deploy-Paperweight.ps1 -Action Install `
  -PackagePath .\Clinimatix.Paperweight.0.1.0.x64.msi `
  -ConfigurationPath .\configuration.json `
  -PublisherThumbprint RELEASE_CERTIFICATE_THUMBPRINT

For a fresh install where direct MSI deployment is appropriate:

msiexec /i Clinimatix.Paperweight.0.1.0.x64.msi /qn /norestart AUTOSTART=1 /L*v install.log

AUTOSTART=1 is the default; AUTOSTART=0 disables that MSI startup component. This setting controls startup at logon; Paperweight runs in the user session. Users operate scanners and shares in their own interactive sessions.

NinjaOne

Use NinjaOne application automations. Upload the signed MSI, wrapper, detection script, and the appropriate configuration as the automation's helper files. Run the 64-bit PowerShell host as SYSTEM. Use the wrapper for upgrades/repair/uninstall; a fresh installation can also use the platform's native MSI installation action with quiet and no-restart arguments.

Run Detect-Paperweight.ps1 -MinimumVersion 0.1.0 after deployment. Keep policy assignment scoped to the intended workstation/user. No NinjaOne credentials, API connection, or runtime service is required by Paperweight.

Microsoft Intune

Create an Intune Win32 app. Package the deployment kit with Microsoft's Win32 Content Prep Tool. Configure the app with System install behavior, x64 architecture, and Windows 11 requirements. Use these commands:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Deploy-Paperweight.ps1 -Action Install -PackagePath .\Clinimatix.Paperweight.0.1.0.x64.msi -ConfigurationPath .\configuration.json -PublisherThumbprint RELEASE_CERTIFICATE_THUMBPRINT
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Deploy-Paperweight.ps1 -Action Uninstall -PackagePath .\Clinimatix.Paperweight.0.1.0.x64.msi -PublisherThumbprint RELEASE_CERTIFICATE_THUMBPRINT

Use Detect-Paperweight.ps1 as the custom detection script in the 64-bit host. It prints a detection string and exits zero only when the minimum registered version and executable are present. Update its minimum-version value in the deployment kit when creating a new application revision. Ensure the signed MSI remains available for wrapper maintenance commands, including uninstall.

Assign the app to the intended workstation groups. Use detection and return codes to track installation results.

Configuration Manager

Create a Windows Installer application or a script deployment type using the wrapper. Run as SYSTEM with version-aware detection. Separate the machine installation policy from the operator's access to scanners and destinations. Use a maintenance window for upgrades and verify return codes before declaring compliance.

Group Policy

Assign the MSI to computers at startup and deploy protected configuration separately. Avoid forced upgrades or reboots during capture; for active-session maintenance, first use the wrapper in an administrative maintenance task to drain work.

Return codes

Code Meaning and response
0 Success
3010 Success, reboot required; schedule rather than force the reboot
1618 Busy/concurrent deployment or drain timeout; investigate and retry later
1603 Deployment failed; inspect the local installer log and policy validation

Other native Windows Installer errors are preserved. Configuration validation failure after a successful binary installation does not automatically roll back the installed binaries. Check both installed version and active policy.