on x64 Windows 7 I am trying to get hello world MVC 3 website running as 64-bit process (so Environment.Is64BitProcess returns true on a page) using IIS Express 8 latest bet
Do the following to run VS2012 project in x64 project in IIS8 Express on x64. I am running x64 WCF service. See below,
Install x64 version of IIS Express 8.
Set the project to run x64 bit.
- Write a bat file and add the following. Put the correct unc location of the applicationhost.config and the correct project name. Save the bat file.
cd "Program Files"/IIS Express
iisexpress.exe /config:"\\companyname.com\root\User-Profiles\testusername\Documents\IISExpress\config\applicationhost.config" /site:"YourProjectName.WcfHost" /apppool:"Clr4IntegratedAppPool"
In order to solve this on my system, I cheated -- I copied the 64-bit executables (in \Program Files\IIS Express\
) over the 32-bit executables (in \Program Files (x86)\IIS Express\
). Visual Studio doesn't seem to care whether it's one or the other.
I guess we will have to wait and see if the final release of VS 2012 will allow for choosing between the 32-bit and 64-bit IIS Express.
You have to launch iisexpress from command line in this case,
http://learn.iis.net/page.aspx/870/running-iis-express-from-the-command-line/
As I am not sure when will Microsoft updates the VS integration part to allow you to choose x64 IIS Express. The current integration obviously is x86 only.
In the registry, go to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\IISExpress\8.0\InstallPath
and change the path to the 64-bit iisexpress.exe location.
It seems that creating EXE that does nothing else but start 64-bit IIS and putting it in place of 32-bit iisexpress.exe
does the job.
This is C# code I used to create the EXE:
using System.Diagnostics;
namespace IISExpress64
{
class Program
{
static void Main( string[] args )
{
Process.Start( @"C:\Program Files\IIS Express\iisexpress.exe", string.Join( " ", args ) );
}
}
}
You can run IIS Express in 64 bit mode from the command line, and then use VS "attach to process" to debug.
See this question.
Have fun.