I have been trying to programmatically bind certificates to an IIS Express 7.5 interface using the Windows.Web.Administration Module (7.9/IIS Express version). However, it seems that IIS Express does not install all of the required components to make this module fully work.
When running through simple code, I can view the properties of the IIS Express server, such as hosted sites and bindings. On commits, the code unravels with the following COM Exception:
Invalid class string (Exception from HRESULT: 0x800401F3 (CO_E_CLASSSTRING))
At this point, I tried this on a 2008 server, both before installing IIS 7 and after installing it. Before, I received the same error; afterwards it worked.
So IIS Express seems to be missing something from its install to fully allow the Windows.Web.Administration module to work; I have been using ListDLLS to attempt to find out what:
Here is the end of a trace on an unworking server:
0x00000000744d0000 0x3c000 C:\Windows\SysWOW64\mswsock.dll
0x00000000744a0000 0x5000 C:\Windows\SysWOW64\wshtcpip.dll
0x00000000743b0000 0x6000 C:\Windows\SysWOW64\wship6.dll
And here is from one that had IIS 7 installed on it, along with IIS Express 7.5:
0x000000006aa00000 0x3b000 C:\Windows\SysWOW64\mswsock.dll
0x000000006aa60000 0x5000 C:\Windows\SysWOW64\wshtcpip.dll
0x000000006aa50000 0x5000 C:\Windows\SysWOW64\wship6.dll
0x0000000074580000 0xd000 C:\Windows\SysWOW64\inetsrv\rscaext.dll
0x00000000746e0000 0x7000 C:\Windows\SysWOW64\WSOCK32.dll
0x0000000074460000 0xb000 C:\Windows\SysWOW64\HTTPAPI.dll
This makes it seem like it needs to call code in rscaext.dll, even though this is only installed in IIS 7, not IIS Express 7.5. My next move was to copy all of these file in inetsrv from one computer to the other, as they are both the same arch and OS.
Unfortunately, this did not work either. It is still crashing before reaching rscaext.dll, from what I am assuming is a COM library call to a non-existent library.
Does anyone know which libraries were not installed by IIS Express, or a solution to this issue?