IIS 7.5 and IIS 8.0 European Hosting

BLOG about IIS 7.5 Hosting, IIS 8.0 Hosting and Its Technology - Dedicated to European Windows Hosting Customer

European IIS 8 Hosting - How to solve Could not load type ‘System.ServiceModel.Activation.HttpModule’

clock December 10, 2013 04:55 by author Patrick

Do you ever encountered an error if you deploying WebSocket server application which targeted .NET 4.5 to Windows Server 2012 plus IIS 8? Yes, it was an exception shown in browser whenever tried to open a web page. The exception said:

This problem is: the default configuration in applicationHost.config (in C:\Windows\System32\inetsrv\config) declared two conflicted modules and two conflicted handlers:

As we know, applicationHost.config contains the root settings for all web sites and web applications on the server. Therefore, any web application would have all the four conflicted modules and handlers loaded by default. “ServiceModel” and “svc-Integrated” were for .NET Activation 3.x while “ServiceModel-4.0” and “svc-Integrated-4.0” were for .NET Activation 4.x. Unfortunately, the 3.x items were declared before the 4.x items. That was why the exception occurred for a .NET 4.x web application!

Then how did such a situation happen? On Windows Server 2008, it could happen when you install .NET 3.x framework or IIS 7.5 with Activation features after .NET framework 4.x is installed. However, on Windows Server 2012, it always happens when you install .NET framework 3.x with Activation features.

Microsoft officially announced the solution (http://support.microsoft.com/kb/2015129) for Windows Server 2008 plus IIS 7.5: manually running “aspnet_regiis.exe /iru” for .NET framework 4.x (in C:\Windows\Microsoft.NET\Framework\v4.0.30319 or C:\Windows\Microsoft.NET\Framework64\v4.0.30319). However, aspnet_regiis.exe is not allowed to run for IIS 8.

The final solution was to delete the 3.x module and handler from IIS manager. You could delete them at the application or site level if you want to keep them in applicationHost.config. But if you wanted to delete them from applicationHost.config. So you should did the following steps:

1.      In IIS manager, click the machine name node.

2.      In “Features View”, double-click “Modules”.

3.      Find “ServiceModel” and remove it.

4.      Go back to the machine name node’s “Features View”, double-click “Handler Mappings”.

5.      Find “svc-Integrated” and remove it.

Now everything works well.

SSL Installation issue on Windows 2008r2: How to Fix a “CertEnroll::CX509Enrollment::p_InstallResponse: ASN1” Certificate Private Key Error

clock September 18, 2013 08:17 by author Ronny

This error means that the private key does not match the public key (the .crt file).  The keypair is not successfully joined into a working SSL certificate.


Here solution to resolve this error

1. (Start button -> RUN -> Type : MMC)

2. Choose Tab “File”

3. Add/Remove Snap-ins -> certificates and click “Add >”.

4. Select “Computer account” and Finish. OK


5. Personal > Certificates >  right-click and select All Tasks > select Import > guide to the .crt file.)

6. Double-click the crt certificate file you just imported -> select the Details tab, scroll all the way down to Thumbprint and highlight Thumbprint.

7. In the lower pane, block and copy all the letters of the thumbprint.  Paste the thumbprint characters into notepad.  Open the command prompt and run this command: Certutil /?

8. The command you’ll want to run is:

certutil -repairstore my “{PASTE THE CODE }”

9. When you see “CertUtil: -repairstore command completed successfully” the private key will be associated with the .CRT file in the personal store. The certificate should show up in IIS 7.5 under Server Certificates.

10. Now you should be able to assign the SSL certificate to the appropriate website(s).

European IIS 7 Hosting - Amsterdam :: How to Connect Site via IIS Manager

clock February 14, 2012 05:50 by author Scott

I was about to blog how we can redirect domain.com to www.domain.com (redirecting can improve SEO ranking, tune to next post for more detail) in IIS 7. But before that I thought let me first blog how to connect with remote website through IIS manager. Before proceeding with this tutorial we need to download IIS Manager for Remote Administration and of course windows hosting account which allow remote IIS management. After installing IIS Manager for Remote Administration open IIS Manager by typing inetmgr in Run window. In connection pane of IIS manager click on Create New Connection button. There are three different options. Click on Connect to a Site

It will open new dialog box for connecting to remote website. In that dialog box enter server name and website name (which can be obtained from hosting control panel or contact hosting provider).

Clicking on next will ask for credentials for connecting to website.

After providing credentials when you click next, you might get server certificate alert depends on connecting server certificate. If you get one then click on connect if you trust connecting server.

On successful connection, it will ask for connection name. Provide connection name and click on finish button.

On connection, you might get following dialog asking to install server feature. This is the list of server feature which is not available on your local machine. If you want to manage / configure that feature through remote IIS then you must install it on your local machine.

After that you can see list of IIS feature available. Now you can configure it.

Done. Great job.

European IIS 7.5 Hosting :: How to Enable Extensionless URLs in IIS 7.0 & IIS 7.5

clock November 21, 2011 06:12 by author Scott

The cool thing to do these days is extensionless Urls, meaning there is no .aspx, .html, etc. Instead you just reference the resource by the name, which makes things like Restful interfaces and SEO better. For security reasons IIS disables this feature by default.

Recently I was working with some code where extensionless Urls were being used by the original developer. Since I typically do not work against the local IIS 7.5 installation when writing code I was stuck because I kept getting 404 responses for an oData resource. At first I did not realize the site was using IIS 7.5 as the web server, I honestly thought it was using the development server, which is the standard option when using Visual Studio to develop a web site.

Once I realized the site was actually being deployed locally I was able to trace the issue and solve it. turns out you need to
turn on Http Redirection. To do this you need to go into control panel and select ‘Programs’. This will display multiple options, you need to look at the top group, “Programs and Features”. In this group select “Turn Windows features on or off”.

Now the “Windows Features” dialog is displayed. This shows a tree view containing various components, but for this we want to drill into the Internet Information Services > World Wide Web Services > Common Http Features. By checking HTTP Redirection and the OK button you will enable extensionless Urls in IIS.

Good luck and hope it helps.

European IIS 7 Hosting :: Using Auditing and Process Monitor to Detect Permission Issue

clock July 18, 2011 07:17 by author Scott

I was working on a post @ http://forums.iis.net about a permissions issue.  One of the first things I recommend is use Process Monitor.  I honestly think this tool should be built into the OS.  My 3 suggestions, do you run Filemon, Regmon and is auditing of "Audit object access" failures enabled?  Between these three items,  you can rule out most any permissions issue. 

//Process Monitor info

//Sysinternals homepage

//Enable Object Failures in Local Security Policy.

Here is an image of what I'm referring to.

//Enable auditing of failures on the drive your files are located on

Once this is enabled, if there is an failure, it will show up in the Security event log.  If there is not a error using Filemon, auditing process above.  There is probably a DCOM or local security policy issue.

Hope this helps!!

European IIS 7 Hosting :: Installing Php 5 in IIS 7 with MySQL 5.1

clock June 6, 2011 07:31 by author Scott

I needed a flash response to a recent personal project demand that required PHP and MySQL. As such, I needed to start coding ASAP a flash install of both platforms was in order. Here’s a quick step-by-step guide to get PHP and MySQL running on your computer:

1. Go to the official PHP Internet Information Services Site
2. Click the big button to install PHP using Microsoft Web Application Gallery. If you don’t have it already installed, it will be installed first.
3. Follow the onscreen instructions.
4. Go to Control Panel > Administrative Tools > Internet Information Services.
5. Open “Default Web Site”
6. Double click on “Server Components > Handler Mappings”
7. Confirm if *.php extension is now handled by PHP FastCGI.

Here are some images of the entire process:

You’re done! Add a new Application to IIS and you’re ready to go!

Now, in order to install MySQL databse onto your system, you first need to download the MySQL Community Edition, (the freely downloadable version) from the
MySQL Developer downloads webpage. At the time of this writing, the current version is 5.1 and 5.4 is available as a beta version. For instance, if you have a 64bit OS, install the following: mysql-5.1.40-winx64.msi. For 32bit OS choose mysql-5.1.40-winx64.msi.

Follow the on screen instructions. When asked, select standard installation and a root password at your discretion.

When the installation is finished, goto Start –> Programs –> MySQL > MySQL Server 5.1 > MySQL Command Line Client (mysql).
mysql is a simple SQL shell. It supports interactive and non-interactive use. When used interactively, query results are presented in an ASCII-table format. When used non-interactively (for example, as a filter), the result is presented in tab-separated format. The output format can be changed using command options.

Now, let’s setup our first database. We can list all currently installed databases by inputting the following command:

show databases \g

Notice the “\g” keyword. This is like the “GO” command in SQL Server. It orders the engine to execute the previous command. After the command is executed you’ll notice a database called mysql. This is a system database, and you shouldn’t mess around with it. For instance you can check all system tables in mysql database with the following command:

show tables in mysql \g

You’ll also notice a database named “test”. This is a sample database that you can use for testing purposes.

When creating your database we must assign the required user permissions for us to access it from our data client. So I’ll create a new user called JohnDoe with a custom password by inputting the following command:

create user ‘JohnDoe’ identified as ‘password’ \g

Now for the database. There’s a useful command that gives you the SQL syntax for database creation. If you execute the following:

show create database test\g

… it will show the necessary SQL syntax to create the test database. We’ll create a database called “MyDatabase”:

create database MyDatabase \g

And now, all there is to do is give Mr JohnDoe a green card on our database, by giving it full access permissions:

grant all on table MyDatabase.* to JohnDoe identified by ‘password’ \g

If all goes well, you should receive

Query OK, 0 rows affected (0,00 sec)

Later, in case you want to delete your database, this is the command:

drop database ‘MyDatabase’ \g

And that’s it. You’re all set to start working with Php and MySql.

European IIS 7 Hosting :: How to Add a New Site in IIS 7

clock June 3, 2011 06:48 by author Scott

This is just only brief tutorial about how to add a new site in IIS 7. If you have any problem, please let us know.

Open IIS7 Manager.

1. Right-click the Sites node, and then click Add Web Site.

2. Type a name for your Web site In the Add Web Site dialog box.

3. If you want select a different application pool or leave the current selected.

4. In the Physical path box, type the physical path of the Web site’s folder, or click the browse button to choose the folder.

5. The default value in the IP address box is All Unassigned. If you wish to specify a dedicated IP address for the Web site, type it in the IP address box.

6. Type a port number.

7. Type a host header name for the Web site in the Host Header box.

European IIS 7 Hosting :: How to Fix HTTP 500.19 Errors in IIS 7 - Part I

clock May 26, 2011 06:27 by author Scott

Here are some troubleshooting HTTP 500.19 errors in IIS 7:

Error Message #1:

HTTP Error 500.19 - Internal Server Error
Description: The requested page cannot be accessed because the related configuration data for the page is invalid.
Module: StaticCompressionModule
Notification: MapRequestHandler
Handler: StaticFile
Error Code: 0x800700c1
Requested URL: http://localhost/
Physical Path: C:\inetpub\wwwroot
Logon Method: Anonymous
Logon User: Anonymous


The Error Code in the above error message is “0x800700c1” which when translated through ERR.EXE, is
# %1 is not a valid Win32 application.


This error normally indicates an attempt to use EITHER
Ø 32-bit executable from a 64-bit process
Ø A corrupt executable
Hence the solution is to make sure that the listed module’s bitness (32bit/64bit) matches the bitness of the application Pool.

Error Message #2:

HTTP Error 500.19 - Internal Server Error
Description: The requested page cannot be accessed because the related configuration data for the page is invalid in the metabase on the Web server.
Error Code: 0x800700b7
Notification: BeginRequest
Module: IIS Web Core
Requested URL: http://localhost/
Physical Path: C:\inetpub\wwwroot
Logon User: Anonymous
Logon Method: Anonymous

Handler: StaticFile
Config Error: Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'header’
Config File: \\?\C:\inetpub\wwwroot\web.config

Config Source:

21: <customHeaders>
22: <add name="header" value="text/plain" />
23: </customHeaders>


This problem essentially happens if there is a duplicate entry for the configuration section setting at a higher level in the configuration (i.e. in parent site/folder’s web.config or applicationHost.config file). The error message itself points out the location of duplicate entries.


One should look in the site’s config file and compare it with applicationHost or web.config file at a higher level to check for duplicate entries as pointed by the error message.  You can either remove this entry to make the server run again, or make the entry non-duplicate by changing the collection key.

For example, the above error message was because of the same custom header defined at the IIS root level (applicationHost.config) and at the Default Website (web.config). To solve this, we can

1. Remove this entry from web.config file : <add name="header" value="text/plain" />


2. Add remove OR clear element before this add element:

<remove name="header"/>


<clear />

Error Message #3:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.
Module: IIS Web Core
Notification: BeginRequest
Handler: Not yet determined
Error Code: 0x8007000d
Config Error: Configuration file is not well-formed XML
Config File: \\?\ C:\inetpub\wwwroot \web.config
Requested URL: http://localhost/
Physical Path: C:\inetpub\wwwroot
Logon User: Not yet determined
Logon Method: Not yet determined
Config Source

3: <system.webServer>
4: </handlers>
5: <remove name="StaticFile"/>


That error message goes on to say what exactly is bad about your configuration file, hence you should refer the “Config Error” and “Config Source” sections. This problem occurs because the ApplicationHost.config file or the Web.config file contains a malformed or unsupported XML element.


Delete the malformed XML element from the ApplicationHost.config file or from the Web.config file as indicated by the error message.

There are couples of instances that we have come across where the error code remains 0x8007000d, but the cause of issue was interesting.

In one scenario, we had a virtual directory pointing to a UNC share content. This same above 500.19 error was caused because of wrong password specified in the “Connect as..” setting. So make sure to provide the right credentials under “Connect as..” .

Another instance where the error code remained “0x8007000d” but the “Config Error” didn’t complain the mal formed XML, rather was about Configuration section encryption.

HTTP Error 500.19 – Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Module : ConfigurationValidationModule
Notification: BeginRequest
Handler : PageHandlerFactory-Integrated
Error Code: 0x8007000d
Config Error: Configuration section encryption is not supported
Config File: \\?\C:\inetpub\wwwroot\aspnet\web.config
Requested URL: http://localhost/
Physical Path: C:\inetpub\wwwroot
Logon User: Not yet determined
Logon Method: Not yet determined
<identity configProtectionProvider="RsaProtectedConfigurationProvider">
<EncryptedData Type=http://www.w3.org/2001/04/xmlenc#Element
As the error suggests, the error is because IIS7 configuration system only supports per-attribute encryption; it does not support per-section encryption.

Error Message #4:

HTTP 500.19 - Internal Server Error

Module: IIS Web Core
Notification: BeginRequest
Handler: Not yet determined
Error Code: 0x8007010b
Config Error: Cannot read configuration file
Config File \\?\C:\inetpub\wwwroot\aspnet\web.config
Logon Method: Not yet determined


ERROR CODE: 0x8007010b translates to “ERROR_DIRECTORY - The directory name is invalid.”


As the error indicates, IIS is not able to find the content directory. For this error, we can run Process Monitor OR use Failed Request Tracing to get the Directory name where it fails. And then verify if that directory name/path is valid or not. If it does exist, then verify the NTFS permissions on that directory for account that is being used to access it.

We have seen this error when the site content is pointing to some Non-NTFS File system. In such cases, it is advisable to test it by placing the content on a Windows/NTFS share.

About HostForLIFE.eu

HostForLIFE.eu is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes.

We have offered the latest Windows 2016 Hosting, ASP.NET Core 2.2.1 Hosting, ASP.NET MVC 6 Hosting and SQL 2017 Hosting.

Tag cloud

Sign in