Skip to content

Instantly share code, notes, and snippets.

@manuelbieh
Created November 30, 2012 21:47
Show Gist options
  • Save manuelbieh/4178908 to your computer and use it in GitHub Desktop.
Save manuelbieh/4178908 to your computer and use it in GitHub Desktop.
Install node.js on Windows silently
1. Download the recent version from nodejs.org
2. Run `msiexec /qn /l* node-log.txt /i node-vX.X.XX-x64.msi`
@brunofin
Copy link

brunofin commented Mar 2, 2017

setlocal

set NODEJS_FILENAME=node-v6.10.0-x86.msi
set NODEJS_URL=https://nodejs.org/dist/v6.10.0/%NODEJS_FILENAME%
set NODEJS_DOWNLOAD_LOCATION=C:\

powershell -NoExit -Command "(New-Object Net.WebClient).DownloadFile('%NODEJS_URL%', '%NODEJS_DOWNLOAD_LOCATION%%NODEJS_FILENAME%'); exit;"
msiexec /qn /l* C:\node-log.txt /i %NODEJS_DOWNLOAD_LOCATION%%NODEJS_FILENAME%

endlocal

@battaile
Copy link

this ended up being a life-saver:
msiexec /qn /l* node-log.txt /i node-v8.9.1-x64.msi
i've been trying to get node upgraded since yesterday afternoon and the msi just kept hanging

@olamotte
Copy link

Just a comment as this is still working great in 2020 - I was able to silently update from v10 to v14.

@TomasHubelbauer
Copy link

TomasHubelbauer commented Nov 11, 2020

FWIW I wanted to see the installer but be unattended and this did it:

# Obtained  earlier
$name = "node-v14.15.0.msi"
msiexec /passive /log "${name}.log" /package $name

Also when you run just msiexec you can see the options available:

Windows ® Installer. V 5.0.19041.1 

msiexec /Option <Required Parameter> [Optional Parameter]

Install Options
	</package | /i> <Product.msi>
		Installs or configures a product
	/a <Product.msi>
		Administrative install - Installs a product on the network
	/j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>]
		Advertises a product - m to all users, u to current user
	</uninstall | /x> <Product.msi | ProductCode>
		Uninstalls the product
Display Options
	/quiet
		Quiet mode, no user interaction
	/passive
		Unattended mode - progress bar only
	/q[n|b|r|f]
		Sets user interface level
		n - No UI
		b - Basic UI
		r - Reduced UI
		f - Full UI (default)
	/help
		Help information
Restart Options
	/norestart
		Do not restart after the installation is complete
	/promptrestart
		Prompts the user for restart if necessary
	/forcerestart
		Always restart the computer after installation
Logging Options
	/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
		i - Status messages
		w - Nonfatal warnings
		e - All error messages
		a - Start up of actions
		r - Action-specific records
		u - User requests
		c - Initial UI parameters
		m - Out-of-memory or fatal exit information
		o - Out-of-disk-space messages
		p - Terminal properties
		v - Verbose output
		x - Extra debugging information
		+ - Append to existing log file
		! - Flush each line to the log
		* - Log all information, except for v and x options
	/log <LogFile>
		Equivalent of /l* <LogFile>
Update Options
	/update <Update1.msp>[;Update2.msp]
		Applies update(s)
	/uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>
		Remove update(s) for a product
Repair Options
	/f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
		Repairs a product
		p - only if file is missing
		o - if file is missing or an older version is installed (default)
		e - if file is missing or an equal or older version is installed
		d - if file is missing or a different version is installed
		c - if file is missing or checksum does not match the calculated value
		a - forces all files to be reinstalled
		u - all required user-specific registry entries (default)
		m - all required computer-specific registry entries (default)
		s - all existing shortcuts (default)
		v - runs from source and recaches local package
Setting Public Properties
	[PROPERTY=PropertyValue]

Consult the Windows ® Installer SDK for additional documentation on the
command line syntax.

Copyright © Microsoft Corporation. All rights reserved.
Portions of this software are based in part on the work of the Independent JPEG Group.

@imbdb
Copy link

imbdb commented Feb 26, 2024

This still work in 2024, thanks.
Node version 16.20.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment