Kenzie Systems Logo

Install Node.js Windows Server / IIS

Build, package, and publish production-ready web projects.

Why Node.js matters for production

Node.js is the standard toolchain used to build modern web apps (React, Vite, Ant Design, etc.). Even when your final production app runs as static files on IIS, Node.js is what transforms your source code into an optimized production build (minified JavaScript/CSS, hashed assets, and a stable folder you can publish).

What you use Node.js for (IIS-friendly workflow)
Real-world
  1. Install dependencies (npm installs your project libraries).
  2. Build for production (npm run build creates dist/ or build/).
  3. Publish to IIS by pointing IIS to the output folder (and adding a web.config rewrite if you use client routes).
  4. Repeat each time you ship a new version.
Important: For most React/Vite apps, Node.js is required to build. IIS serves the final static output. Node does not need to run as a server in production (unless you’re doing SSR or a Node API).

Install Node.js on Windows Server

Recommended method: install the official Node.js LTS version using the Windows Installer (.msi). LTS is stable and best for servers.

Step-by-step installation (recommended)
LTS + npm
  1. Open the official download page: nodejs.org.
  2. Select LTS and download Windows Installer (.msi).
  3. Run the installer.
  4. Keep the default options, especially:
    • Add to PATH (so you can run node and npm anywhere).
    • npm package manager (installed automatically).
  5. When you see Tools for Native Modules, keep it checked if you want fewer dependency issues. (It installs build tools that some npm packages require.)
  6. Finish installation.
  7. Restart PowerShell (or reboot if the installer requests it).
If you saw “reboot required”: reboot the server. Some C++ runtimes finalize only after restart.

Verify everything installed correctly

These checks confirm: Node is installed, npm is installed, PATH is correct, and your build toolchain can actually run. Run them in PowerShell (or CMD) after installing.

1) Check Node and npm versions
Required
# PowerShell / CMD
node -v
npm -v

You should see version numbers like v24.x.x and 10.x.x (versions may vary).

2) Confirm PATH points to Node
Recommended
# PowerShell
where node
where npm

Typically you will see paths like: C:\Program Files\nodejs\node.exe and C:\Program Files\nodejs\npm.cmd. If you don’t, restart your terminal (or reboot) and try again.

3) Confirm npm can install packages
Recommended

This proves npm is working and can download/install packages.

# Create a temporary test folder
mkdir C:\temp\node-test
cd C:\temp\node-test

# Initialize a small npm project
npm init -y

If you see a new package.json created, npm is functioning correctly.

4) (Best test) Build a real production project
Production

The final proof is building your real app: it ensures npm, build scripts, and any native dependencies work.

# Inside your project folder
npm install
npm run build

After build:
• Vite projects usually generate dist\
• CRA projects usually generate build\

Publish tip (IIS): point IIS to the output folder (dist / build). That folder is your production-ready website.

Publishing to IIS (production mindset)

Your “production build” is what you publish. It’s smaller, faster, and stable. This is how professional deployments work.

Why production builds are important
Quality
  • Performance: bundles are minified and optimized.
  • Cache & stability: hashed file names prevent broken caches.
  • Consistency: the build output is predictable across environments.
  • Security: you publish compiled assets, not your raw dev environment.
Useful official downloads
Trusted

Always use official sources on production servers:

Tip: If your React app uses routes like /dashboard, install URL Rewrite and use a rewrite rule to route requests to index.html.

Common issues (quick fixes)
Troubleshooting
  • node not recognized close and reopen PowerShell, or reboot.
  • npm install fails (node-gyp) install “Tools for Native Modules” (C++ tools + Python).
  • Client routes 404 on IIS install URL Rewrite + add web.config rewrite.
  • Permissions issues run terminal as Administrator for installs on servers.
Recommended checklist
Before go-live
  • node -v and npm -v show versions
  • npm install completes without errors
  • npm run build completes and generates dist/ or build/
  • IIS points to the output folder
  • SPA rewrite works (no 404 when refreshing routes)