Can't get IIS Express 8 beta to run website as 64-bit process

64 BitIis Express

64 Bit Problem Overview


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 beta.

IIS Express 7.5 is 32 bit but IIS Express 8 does support 64 bit (http://learn.iis.net/page.aspx/1266/iis-80-express-beta-readme/).

Can't get any 64-bit love.

Building AnyCpu returns Is64BitProcess false, building x64 gives "An attempt was made to load a program with an incorrect format. " as if it was trying to run as 32-bit process.

Experiments w/ renaming folders etc. suggest that "C:\Program Files (x86)\IIS Express" is only thing that is getting used, and "C:\Program Files\IIS Express" is being ignored by VS.

How can I get VS to use the x64 IIS Express host?

64 Bit Solutions


Solution 1 - 64 Bit

This option is now part of Vs 2013 / 2015 / 2017:

> Tools | Options | Projects and Solutions | Web Projects | Use the 64 > bit version of IIS Express

Solution 2 - 64 Bit

From a Microsoft response to forum post on http://visualstudio.uservoice.com -

This is working for me even though it is not endorsed or supported officially by Microsoft.

> Mike Harder (Microsoft) commented · January 31, 2013 5:26 p.m. > > You can configure Visual Studio 2012 to use IIS Express 64-bit by > setting the following registry key: > > reg add > HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebProjects /v > Use64BitIISExpress /t REG_DWORD /d 1 > > However, this feature is not supported and has not been fully tested > by Microsoft. Improved support for IIS Express 64-bit is under > consideration for the next release of Visual Studio.

Allow for IIS Express 64 bit to run from Visual Studio 2012

Solution 3 - 64 Bit

Late to the party but VS2013 has this in the Options.

Tools -> Options -> Projects and Solutions -> Web Projects -> Use the 64 bit version of IIS Express…

Solution 4 - 64 Bit

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.

Solution 5 - 64 Bit

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.

Solution 6 - 64 Bit

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.

Solution 7 - 64 Bit

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 ) );
		}
	}
}

Solution 8 - 64 Bit

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.

enter image description here

  • Add a custom web server url. Because you don't want to start the service when the project run (F5).

enter image description here

  • 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"

  • Run (F5) the project.

  • Double click the bat file to start IIS Express 8 for x64. See Windows Task Manager and IIS Express system tray. enter image description here

enter image description here

Solution 9 - 64 Bit

Simple possibility is just to set IIS x64 as starting program for the WEB project :

Project Properties -> Web -> Start Action - > Start Program : c:\Program Files\IIS Express\iisexpress.exe command arguments: /path:{yourProjectPath} /port:{yourPort}

Solution 10 - 64 Bit

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionbuntView Question on Stackoverflow
Solution 1 - 64 BitEric Bole-FeysotView Answer on Stackoverflow
Solution 2 - 64 BitCodeMonkeyKingView Answer on Stackoverflow
Solution 3 - 64 BitKugelView Answer on Stackoverflow
Solution 4 - 64 BitLex LiView Answer on Stackoverflow
Solution 5 - 64 BitRyan HaytonView Answer on Stackoverflow
Solution 6 - 64 BitblorkfishView Answer on Stackoverflow
Solution 7 - 64 BitMartin DvorakView Answer on Stackoverflow
Solution 8 - 64 BitDiganta KumarView Answer on Stackoverflow
Solution 9 - 64 BitFlorin GrigoriuView Answer on Stackoverflow
Solution 10 - 64 BitWarren RumakView Answer on Stackoverflow