NOTE: Official branch is azure/iisnode
TL;DR; I no longer maintain or monitor this repository. Please go to azure/iisnode for the latest version of the stack and/or to file any issues.
I developed the iisnode technology to enable hosting Node.js applications in IIS, specifically in the Azure Websites, back when I was working at Microsoft. When I left the company in 2013, Microsoft decided to retain ownership of the stack. While I cannot speak to the current state of affairs or plans going forward, as of this writing, iisnode appears to still power execution of Node.js apps in Azure, and the azure/iisnode fork is where the action happens. Happy Noding!
-- @tjanczuk, 9/21/2018
Branches
- master: stable version.
 - iisnode-dev: development branch.
 
Why would I want to do it?
Who uses iisnode?
- Microsoft azure - benefits
 - Microsoft azure - get started with node.js
 - appharbor.com
 - discountasp.net
 - arvixe.com
 - smarterasp.net
 - gearhost.com
 - webecs.com
 
Prerequisites for using
- Windows Vista, Windows 7, Windows 8, Windows Server 2008, or Windows Server 2012
 - IIS 7.x with IIS Management Tools and ASP.NET
 - WebSocket functionality requires IIS 8.x on Windows 8 or Windows Server 2012
 - URL rewrite module for IIS
 - Latest node.js build for Windows
 
Installing for IIS 7.x/8.x
- Install iisnode for IIS 7.x/8.x: x86 or x64 - choose bitness matching your system
 - To set up samples, from the administrative command prompt call 
%programfiles%\iisnode\setupsamples.bat - Go to 
http://localhost/node 
Installing for IIS Express/WebMatrix
- Install WebMatrix using the Web Platform Installer
 - Open WebMatrix, choose “Site from folder”, enter %localappdata%\iisnode\www, start the site, and play with the iisnode samples, or
 - Use node.js templates to get started quickly with an Express application or a skeleton Hello World
 
Installing for IIS Express 8 on Windows x64 This can be a head-scratcher since IIS Express 8 gives you both 32-bit and 64-bit versions (http://www.iis.net/learn/extensions/introduction-to-iis-express/iis-80-express-readme). You can either:
- Install the full x64 version, then in Visual Studio go to Tools > Options > Projects and Solutions > Web Projects > Use the 64 bit version of IIS Express. This way you have a single install for both IIS and IIS Express.
 - Separately install iisnode express version (https://github.com/azure/iisnode/wiki/iisnode-releases).
 
- the basics
 - the basics (Pусский перевод)
 - [NEW: websockets] (http://tomasz.janczuk.org/2012/11/how-to-use-websockets-with-nodejs-apps.html)
 - using with express framework
 - using with URL rewrite module
 - using with WebMatrix and IIS Express
 - site templates for WebMatrix
 - using with mongodb
 - diagnosing problems with ETW traces
 - using with MVC
 - portuguese: node.js no windows: instalando o iisnode
 - integrated debugging
 - NEW: integrated debugging with node-inspector v0.7.3
 - pub/sub server using faye
 - appharbor uses iisnode
 
Prerequisites for building
- All prerequisities for using
 - Visual Studio Express 2012 for Windows Desktop
 - WIX Toolset v3.6
 - Windows SDK for Windows 8
 
Building
Build commands should be issued from the build environment set up with "%programfiles(x86)%\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat", assuming default installation location of Visual Studio 2012 on x64 platform.
For x86 build:
msbuild /p:Platform=Win32 src\iisnode\iisnode.sln
For x64 build:
msbuild /p:Platform=x64 src\iisnode\iisnode.sln
Installing after build
- For IIS 7.x/8.0: 
build\debug\{x64|x86}\iisnode-full.msi - For IIS Express 7.x: 
build\debug\x86\iisnode-express.msi 
Running tests
- Install for IIS 7.x/8.x (see previous sections)
 test\functional\test.bat- note that for the WebSocket tests to pass you must be running in IIS 8.x on Windows 8 or Windows Server 2012
 
Resources & documentation