Search code examples
iiswindows-server

Cant load a site in IIS8 on 32bit pool (WinSrv 2012 and Sharepoint 2013)


We have a WCF service that interacts with TFS 2010, we are planning to migrate to TFS 2012 so we installed a server to test it, the server have the following installed:

Windows Server 2012
SQL Server 2012
SharePoint 2013
TFS 2012

I created a site for my service and tried to running, i was greeted with the following message:

Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader' or one of its dependencies. An attempt was made to load a program with an incorrect format.

So I changed the pool to 32bit, but then I was greeted with this:

The Module DLL 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\isapi\spnativerequestmodule.dll' could not be loaded due to a configuration problem. The current configuration only supports loading images built for a x86 processor architecture. 

And know I'm stuck I googled for that DLL but did not find anything, I created a new site with a vanilla HTML page and only loads on 64 bit pool.

I checked the sites created by TFS and SharePoint on the server and all are 64bit.

My best guess is that it has something to do with SharePoint 2013 but I'm not sure.

Any ideas on how to make the sites run on a 32bit pool?

Thanks


Solution

  • Running 32bit and 64bit side by side is supported in IIS7 as it's now configured per AppPool.

    However, although I'm not sure if it's a supported configuration in SharePoint 2013 there's a fix for this error.

    You can set that SharePoint module to only run in 64bit processes using this command:

    appcmd.exe set config -section:system.webServer/globalModules /[name='SPNativeRequestModule'].preCondition:integratedMode,bitness64
    

    see this site for the details.