Silent & Command-Line Install
Install Deck non-interactively with msiexec, including properties, logging, and verification
msiexec basics
Deck's MSI supports the standard Windows Installer command line. The two commands you will use most:
# Per-user, silent (no elevation required)
msiexec /i VediramDeckSetup-1.8.0-x64.msi /qn
# Per-machine, silent (run from an elevated/SYSTEM context)
msiexec /i VediramDeckSetup-1.8.0-x64.msi ALLUSERS=1 /qn
UI level flags
| Flag | Effect |
|---|---|
/qn | Fully silent, no UI |
/qb | Basic UI - a progress bar, no prompts |
/qb! | Basic UI, hide the Cancel button |
| (none) | Full interactive UI |
Public properties
Deck exposes a single public (settable) MSI property:
| Property | Values | Effect |
|---|---|---|
ALLUSERS | 1 | Install per-machine to C:\Program Files\Vediram\Deck for all users. Requires elevation. Omit it entirely for the default per-user install. |
There are no other custom properties. Configuration of Deck's behavior (profiles, feature toggles, folders) is done through Group Policy after install, not through MSI properties - see Configuration & Group Policy.
Logging the install
Always capture a verbose log when deploying at scale so failures are diagnosable:
msiexec /i VediramDeckSetup-1.8.0-x64.msi ALLUSERS=1 /qn /l*v "C:\Windows\Temp\deck-install.log"
/l*v writes a full verbose log. Search the log for value 3 on the Return lines and for Installation success or error status: 0 to confirm success.
Exit codes
msiexec returns standard Windows Installer codes. The ones to handle in a deployment script:
| Code | Meaning |
|---|---|
0 | Success |
1641 | Success, a reboot was initiated |
3010 | Success, a reboot is required to complete |
1602 | User cancelled |
1603 | Fatal error during installation |
1618 | Another install is already in progress - retry later |
Treat 0, 1641, and 3010 as success. Deck itself does not require a reboot, so 3010/1641 are uncommon.
Detecting whether Deck is installed
Because the UpgradeCode (F8A3B2C1-4D5E-6F78-9A0B-1C2D3E4F5A6B) is stable across versions, you can detect any installed build without knowing its ProductCode:
# Returns the installed Deck package(s), if any
Get-CimInstance Win32_Product -Filter "Name LIKE 'Vediram Deck%'" |
Select-Object Name, Version, IdentifyingNumber
Win32_Producttriggers an MSI consistency check and can be slow on some machines. For a lightweight detection rule (e.g. an Intune requirement check), test for the presence ofVediram.Deck.Core.exein the install folder or read the product's uninstall registry key instead.
Per-user silent install via logon script
If you deploy in user context (for example, a logon script), install the default per-user package and guard against re-running on every logon:
$installed = Test-Path "$env:LOCALAPPDATA\Programs\Vediram\Deck\Vediram.Deck.Core.exe"
if (-not $installed) {
Start-Process msiexec.exe -Wait -ArgumentList `
'/i', '\\server\share\VediramDeckSetup-1.8.0-x64.msi', '/qn'
}
Verify a silent install
# Binaries present?
Test-Path "$env:ProgramFiles\Vediram\Deck\Vediram.Deck.Core.exe" # per-machine
Test-Path "$env:LOCALAPPDATA\Programs\Vediram\Deck\Vediram.Deck.Core.exe" # per-user
On first launch (or first user logon after a per-machine install) Deck creates its data folder at %LOCALAPPDATA%\Vediram\Deck. See First Launch.