1.1 When you try to install IIS 7.0, an error message is reported: "An error has occurred. Not all of the features were successfully changed."[top]
Despite many attempts to reinstall IIS7, you keep getting the error message above.
The error is usually caused by a corrupt WAS (Windows Process Activation Service). WAS is a dependent feature package of IIS7. If installation/uninstallation of either IIS or WAS is interrupted, it
might leave WAS in a corrupted state. Once corrupted you will continue to get the error because you will be trying to install IIS over a broken WAS infrastructure.
The resolution is to completely uninstall WAS before IIS reinstallation:
1) Uninstall WAS - Uncheck the whole child options for the parent node "Windows Process Activation Service" and below.
2) Uninstall IIS 7.0.
3) Reinstall IIS 7.0.
1.2 Some ASP.net web applications stop working after migrating to IIS 7.0. What should I do?[top]
IIS 7.0 involves a new integrated pipeline mode of ASP.net which is the default mode for a freshly installed IIS 7.0. This mode’s benefit includes simplifying request processing, extending managed
modules usability and improving performance. Most ASP.net applications can work in this new mode without any changes.
However, we may still find some ASP.net applications stop working after migrating to IIS 7.0. In such a situation, you should check if the web application run into some breaking changes of the new
ASP.net integration mode (see article below). Then apply corresponding solution or work aroundor consider switching the application pool to classic mode. For example, http modules or http handlers specified in web.config need to be moved to <handlers> and <modules> under <system.webServer> in the new integrated mode.
IIS 7.0 involves a new configuration system. The XML Metabase is no longer used. The root config file of IIS 7.0 is applicationHost.config which is located in %SYSTEMDRIVE%\Windows\System32\inetsrv\config
directory.However, IIS 7.0 also includes the metabase compatibility feature (an optional role service) that allows users to modify IIS 7.0 configurations pragrammatically with the classic metabase structure on IIS 6.0 or 5.x (e.g.:
through WMI or ADSI).
For detailed information about IIS 7.0 new configuration system, you can refer to:
2.2 On IIS 7.0, configuration changes can be stored in either applicationHost.config, or in an individual web site, virtual directory’s web.config files. How can
I determine where the configuration is stored after making some changes in IIS manager?[top]
After making configuration changes in IIS manager, look at the status bar. The UI displays the path where the changed configuration is stored. For example:
Configuration: “localhost” applicationHost.config, <location path=”Default Web Site/vdir1”>
Configuration: ‘Default Web Site/vdir1’ web.config
2.3 Is there any user interface for IIS 7.0 that can be used to modify web site configuration other than the command line appcmd tool?[top]
You can install IIS 7.0 Admin Pack and then utilize its Configuration Editor module to view and edit IIS 7.0 configuration. It also contains some very useful features like Search Configuration that
can quickly locate where a configuration is set from multiple configuration files.
3.1 How can I move Inetpub directory from the default location to another drive on IIS 7.0?[top]
For IIS 6.0, we can change the default drive where Inetpub directory locates during installation of IIS. This functionality was removed from IIS 7.0. We can achieve this via the appcmd command line
tool if required.
A script was published on the following blog which can be used to perform the action.
IIS7: Moving the INETPUB directory to a different drive
3.2 On IIS 7.0, I cannot find the Server Certificate Wizard to create certificate requests which is available on IIS 5.x and 6.0’s web site property, directory security
tab. [top]
The server certificate request function is now isolated and moved to web server level. You can find it by selecting the server icon in IIS 7.0 manager. The Server Certificates is one of the features
listed in the IIS section.
Similar to the process of IIS 5.x and 6.0, we can use the wizard to create SSL certificate requests. After finishing the request process and installing the certificate, assign it to an individual site
in this site’s https binding dialog.
3.3 How can I allow non-admin users to modify IIS 7.0 web site configuration remotely?[top]
The feature is not supported on IIS 6.0 but is available on IIS 7.0. IIS 7.0 involves a new and very flexible configuration system. The new system allows the server administrator to specify which configurations
can be modified by a non-admin user on site or web application level and which configurations should be locked in applicationHost.config root.
We can achieve this by granting Windows or IIS manger user accounts with IIS manager permission on a site or virtual/web directory. Then enable remote administration in Management Service feature and
grant WMSvc account (account for remote admin with IIS manager user) with file system permission on the site/web application’s directory. Next, go to Feature Delegation to specify which configurations can be configured by the non-admin user and which ones
cannot be modified (locked in applicationHost.config).
For more detailed information on this, please refer to:
Configuring Remote Administration and Feature Delegation in IIS 7.0
3.4 When using a function like GetLocalAddress to programmatically check web site’s IP or look into IIS 7.0 log, the result is “::1” instead of “127.0.0.1” or a string
like "fe80::e1ac:c656:a6bd:d619%10". Why?[top]
The result is expected. These are IPv6 addresses instead of IPv4. ::1 is the local loopback address of IPv6 which is corresponding to 127.0.0.1 in IPv4 format.
By default, IPv6 is enabled on Windows 2008. If you want to disable it, go to Control Panel->Network and Sharing Center->Manage network connections. Uncheck IPv6 in your network connection's property.
However, this will not disable the loopback interface of IPv6 which means http://localhost/ will still result in ::1. To fully disable all IPv6 interfaces on the server, we need to create and set DisabledComponents registry property to 0xffffffff under:
4.1 I installed a FTP component of IIS 7.0 but can only see Default FTP Site in the old IIS 6.0 console. It cannot be found in IIS 7.0 Manager. Why?[top]
There are two different FTP servers on IIS 7.0. The built-in FTP component that is shipped with the IIS 7.0 installation is fundamentally the same as that on IIS 6.0/Windows server 2003 without any
remarkable changes.
The new FTP 7.0 server contains many new features such as IIS manager user authentication, FTPS (FTP over SSL) and request filtering is provided as a downloadable package at:
The built-in FTP component from IIS 7.0 installation does not support both SSH File Transfer Protocol(SFTP) and FTP over SSL(FTPS). The new FTP 7.0 service (provided as a separate download) supports
FTPS. Currrently SFTP is not supported by any Microsoft products.
To setup FTPS on IIS 7.0 web server, you must install the FTP 7.0 package first:
Next, create your FTPS site and specify a SSL certificate in its binding dialog. If you do not have an available certificate, you can use Server Certificates wizard (on the IIS server’s feature view)
to create a self-signed certificate for it.
Please note the FTP client in IE does not
currently support FTPS. You will need to use a third-party FTPS client. For example: FileZilla. Select FTP over explicit TLS/SSL server type in its site configuration dialog for connection.
4.3 FTP: 550 - The process cannot access the file because it is being used by another process.[top]
On the new FTP 7.0 server, if you try to transfer a file which is opened by another process, a FTP 550 error is returned:
550 - The process cannot access the file because it is being used by another process.
This is a ‘by design’ behavior. In the new
FTP 7.0, by default we do not allow transferring of files that are in use by other processes. To allow the operation, enable the "Allow Reading Files While Uploading" setting in the Advanced Settings of the FTP site. The configuration
property associated with this option in the IIS manager is "allowReadUploadsInProgress".
The same problem does not occur with the built-in FTP component that is shipped with IIS 7.0.
4.4 Can we explicitly deny some file extensions on a FTP 7.0 site to prevent them being uploaded/downloaded?[top]
Yes.
The new FTP 7.0 server can utilize an IIS 7.0 request filtering module to achieve this.This is similar to HTTP, which is a highlight of the new IIS 7.0 architecture. You can use appcmd.exe or IIS7 Admin Pack’s configuration editor to set the denied extensions under the system.ftpServer/security/requestFiltering section. For example, the
following config denies .bat files on a FTP site:
5.1 Does IIS 7.0 support Web Distributed Authoring and Versioning (WebDAV)?[top]
WebDAV is only supported on Windows server 2008.It is not a built-in component. It is offered as a separate module like FTP 7.0. You can download the WebDAV installation package using the link below.
1.
The Desktop Experience feature is not installed. You must use Server Manager to install the Desktop Experience feature which contains the WebDAV redirector.
2. You are using Basic authentication on the WebDAV site without SSL enabled. By default, WebDAV redirector does not accept Basic authentication on Non-SSL site due to security consideration. We should
set up SSL on the site or change BasicAuthLevel registry setting on the WebDAV client. Please refer to:
FAQ Publishe...
1 Post
IIS 7 FAQ
Jun 09, 2009 03:31 AM|LINK
Content
1. IIS 7.0 Installation & Migration issues
1.1 When you try to install IIS 7.0, an error message is reported: "An error has occurred. Not all of the features were successfully changed."
1.2 Some ASP.net web applications stop working after migrating to IIS 7.0. What should I do?
2. IIS 7. Configuration
2.1 Where is IIS 7.0 metabase stored?
2.2 On IIS 7.0, configuration changes can be stored in either applicationHost.config, or in an individual web site, virtual directory’s web.config files. How can I determine where the configuration is stored after making some changes in IIS manager?
2.3 Is there any user interface for IIS 7.0 that can be used to modify web site configuration other than the command line appcmd tool?
3. Site Administration and Management
3.1 How can I move Inetpub directory from the default location to another drive on IIS 7.0?
3.2 On IIS 7.0, I cannot find the Server Certificate Wizard to create certificate requests which is available on IIS 5.x and 6.0’s web site property, directory security tab.
3.3 How can I allow non-admin users to modify IIS 7.0 web site configuration remotely?
3.4 When using a function like GetLocalAddress to programmatically check a website’s IP or look into IIS 7.0 log, the result is “::1” instead of “127.0.0.1” or a string like "fe80::e1ac:c656:a6bd:d619%10". Why?
4. FTP 7.0
4.1 I installed the FTP component of IIS 7.0 but can only see Default FTP Site in the old IIS 6.0 console. It cannot be found in IIS 7.0 Manager. Why?
4.2 Can IIS 7.0 support SFTP or FTPS?
4.3 FTP: 550 - The process cannot access the file because it is being used by another process.
4.4 Can we explicitly deny some file extensions on a FTP 7.0 site to prevent them being uploaded/downloaded?
5. WebDAV
5.1 Does IIS 7.0 support Web Distributed Authoring and Versioning (WebDAV)?
5.2 After installing WebDAV module and enabling it on a web site, mapping a network drive to the WebDAV site results in the following error:
System error 67 has occurred.
The network name cannot be found.
5.3 You may experience some WebDAV clients connecting to IIS 7.0 WebDAV site run into a ‘Read-Only’ situation.
1. IIS 7.0 Installation & Migration issues [top]
1.1 When you try to install IIS 7.0, an error message is reported: "An error has occurred. Not all of the features were successfully changed." [top]
Despite many attempts to reinstall IIS7, you keep getting the error message above.
The error is usually caused by a corrupt WAS (Windows Process Activation Service). WAS is a dependent feature package of IIS7. If installation/uninstallation of either IIS or WAS is interrupted, it might leave WAS in a corrupted state. Once corrupted you will continue to get the error because you will be trying to install IIS over a broken WAS infrastructure.
The resolution is to completely uninstall WAS before IIS reinstallation:
1) Uninstall WAS - Uncheck the whole child options for the parent node "Windows Process Activation Service" and below.
2) Uninstall IIS 7.0.
3) Reinstall IIS 7.0.
1.2 Some ASP.net web applications stop working after migrating to IIS 7.0. What should I do? [top]
IIS 7.0 involves a new integrated pipeline mode of ASP.net which is the default mode for a freshly installed IIS 7.0. This mode’s benefit includes simplifying request processing, extending managed modules usability and improving performance. Most ASP.net applications can work in this new mode without any changes.
However, we may still find some ASP.net applications stop working after migrating to IIS 7.0. In such a situation, you should check if the web application run into some breaking changes of the new ASP.net integration mode (see article below). Then apply corresponding solution or work around or consider switching the application pool to classic mode. For example, http modules or http handlers specified in web.config need to be moved to <handlers> and <modules> under <system.webServer> in the new integrated mode.
ASP.NET 2.0 Breaking Changes on IIS 7.0
http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/
2. IIS 7. Configuration [top]
2.1 Where is IIS 7.0 metabase stored? [top]
IIS 7.0 involves a new configuration system. The XML Metabase is no longer used. The root config file of IIS 7.0 is applicationHost.config which is located in %SYSTEMDRIVE%\Windows\System32\inetsrv\config directory. However, IIS 7.0 also includes the metabase compatibility feature (an optional role service) that allows users to modify IIS 7.0 configurations pragrammatically with the classic metabase structure on IIS 6.0 or 5.x (e.g.: through WMI or ADSI).
For detailed information about IIS 7.0 new configuration system, you can refer to:
Getting Started with IIS 7.0 Configurations
http://learn.iis.net/page.aspx/122/getting-started-with-iis-7-configuration/
2.2 On IIS 7.0, configuration changes can be stored in either applicationHost.config, or in an individual web site, virtual directory’s web.config files. How can I determine where the configuration is stored after making some changes in IIS manager? [top]
After making configuration changes in IIS manager, look at the status bar. The UI displays the path where the changed configuration is stored. For example:
Configuration: “localhost” applicationHost.config, <location path=”Default Web Site/vdir1”>
Configuration: ‘Default Web Site/vdir1’ web.config
2.3 Is there any user interface for IIS 7.0 that can be used to modify web site configuration other than the command line appcmd tool? [top]
You can install IIS 7.0 Admin Pack and then utilize its Configuration Editor module to view and edit IIS 7.0 configuration. It also contains some very useful features like Search Configuration that can quickly locate where a configuration is set from multiple configuration files.
Using the Administration Pack & Database Manager
http://learn.iis.net/page.aspx/401/using-the-administration-pack/
3. Site Administration and Management [top]
3.1 How can I move Inetpub directory from the default location to another drive on IIS 7.0? [top]
For IIS 6.0, we can change the default drive where Inetpub directory locates during installation of IIS. This functionality was removed from IIS 7.0. We can achieve this via the appcmd command line tool if required.
A script was published on the following blog which can be used to perform the action.
IIS7: Moving the INETPUB directory to a different drive
http://blogs.iis.net/thomad/archive/2008/02/10/moving-the-iis7-inetpub-directory-to-a-different-drive.aspx
3.2 On IIS 7.0, I cannot find the Server Certificate Wizard to create certificate requests which is available on IIS 5.x and 6.0’s web site property, directory security tab. [top]
The server certificate request function is now isolated and moved to web server level. You can find it by selecting the server icon in IIS 7.0 manager. The Server Certificates is one of the features listed in the IIS section.
Similar to the process of IIS 5.x and 6.0, we can use the wizard to create SSL certificate requests. After finishing the request process and installing the certificate, assign it to an individual site in this site’s https binding dialog.
3.3 How can I allow non-admin users to modify IIS 7.0 web site configuration remotely? [top]
The feature is not supported on IIS 6.0 but is available on IIS 7.0. IIS 7.0 involves a new and very flexible configuration system. The new system allows the server administrator to specify which configurations can be modified by a non-admin user on site or web application level and which configurations should be locked in applicationHost.config root.
We can achieve this by granting Windows or IIS manger user accounts with IIS manager permission on a site or virtual/web directory. Then enable remote administration in Management Service feature and grant WMSvc account (account for remote admin with IIS manager user) with file system permission on the site/web application’s directory. Next, go to Feature Delegation to specify which configurations can be configured by the non-admin user and which ones cannot be modified (locked in applicationHost.config).
For more detailed information on this, please refer to:
Configuring Remote Administration and Feature Delegation in IIS 7.0
http://learn.iis.net/page.aspx/159/configuring-remote-administration-and-feature-delegation-in-iis-7/
3.4 When using a function like GetLocalAddress to programmatically check web site’s IP or look into IIS 7.0 log, the result is “::1” instead of “127.0.0.1” or a string like "fe80::e1ac:c656:a6bd:d619%10". Why? [top]
The result is expected. These are IPv6 addresses instead of IPv4. ::1 is the local loopback address of IPv6 which is corresponding to 127.0.0.1 in IPv4 format.
By default, IPv6 is enabled on Windows 2008. If you want to disable it, go to Control Panel->Network and Sharing Center->Manage network connections. Uncheck IPv6 in your network connection's property. However, this will not disable the loopback interface of IPv6 which means http://localhost/ will still result in ::1. To fully disable all IPv6 interfaces on the server, we need to create and set DisabledComponents registry property to 0xffffffff under:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters .
and reboot the server. IE and IIS7 will start to use IPv4 addresses after this.
Reference:
929852 How to disable certain Internet Protocol version 6 (IPv6) components in Windows Vista
http://support.microsoft.com/default.aspx?scid=kb;EN-US;929852
4. FTP 7.0 [top]
4.1 I installed a FTP component of IIS 7.0 but can only see Default FTP Site in the old IIS 6.0 console. It cannot be found in IIS 7.0 Manager. Why? [top]
There are two different FTP servers on IIS 7.0. The built-in FTP component that is shipped with the IIS 7.0 installation is fundamentally the same as that on IIS 6.0/Windows server 2003 without any remarkable changes.
The new FTP 7.0 server contains many new features such as IIS manager user authentication, FTPS (FTP over SSL) and request filtering is provided as a downloadable package at:
Installing and Troubleshooting FTP7
http://learn.iis.net/page.aspx/263/installing-and-troubleshooting-ftp7/
4.2 Can IIS 7.0 support SFTP or FTPS? [top]
The built-in FTP component from IIS 7.0 installation does not support both SSH File Transfer Protocol(SFTP) and FTP over SSL(FTPS). The new FTP 7.0 service (provided as a separate download) supports FTPS. Currrently SFTP is not supported by any Microsoft products.
To setup FTPS on IIS 7.0 web server, you must install the FTP 7.0 package first:
http://learn.iis.net/page.aspx/263/installing-and-troubleshooting-ftp7/
Next, create your FTPS site and specify a SSL certificate in its binding dialog. If you do not have an available certificate, you can use Server Certificates wizard (on the IIS server’s feature view) to create a self-signed certificate for it.
Please note the FTP client in IE does not currently support FTPS. You will need to use a third-party FTPS client. For example: FileZilla. Select FTP over explicit TLS/SSL server type in its site configuration dialog for connection.
4.3 FTP: 550 - The process cannot access the file because it is being used by another process. [top]
On the new FTP 7.0 server, if you try to transfer a file which is opened by another process, a FTP 550 error is returned:
550 - The process cannot access the file because it is being used by another process.
This is a ‘by design’ behavior. In the new FTP 7.0, by default we do not allow transferring of files that are in use by other processes. To allow the operation, enable the "Allow Reading Files While Uploading" setting in the Advanced Settings of the FTP site. The configuration property associated with this option in the IIS manager is "allowReadUploadsInProgress".
The same problem does not occur with the built-in FTP component that is shipped with IIS 7.0.
4.4 Can we explicitly deny some file extensions on a FTP 7.0 site to prevent them being uploaded/downloaded? [top]
Yes. The new FTP 7.0 server can utilize an IIS 7.0 request filtering module to achieve this. This is similar to HTTP, which is a highlight of the new IIS 7.0 architecture. You can use appcmd.exe or IIS7 Admin Pack’s configuration editor to set the denied extensions under the system.ftpServer/security/requestFiltering section. For example, the following config denies .bat files on a FTP site:
<div style="border: 1px dotted ; width: 600px; margin-left: 18pt; margin-right: 10px;"><system.ftpServer>
<security>
<requestFiltering>
<fileExtensions>
<add fileExtension=".bat" allowed="false" />
</fileExtensions>
</requestFiltering>
</security>
</system.ftpServer>
</div>Reference:
Using Enhanced Request Filtering Features in IIS7
http://learn.iis.net/page.aspx/504/using-enhanced-request-filtering-features-in-iis7/
Related thread:
http://forums.iis.net/t/1152072.aspx
5. WebDAV [top]
5.1 Does IIS 7.0 support Web Distributed Authoring and Versioning (WebDAV)? [top]
WebDAV is only supported on Windows server 2008. It is not a built-in component. It is offered as a separate module like FTP 7.0. You can download the WebDAV installation package using the link below.
Installing and Configuring WebDAV on IIS 7.0
http://learn.iis.net/page.aspx/350/installing-and-configuring-webdav-on-iis-70/
A new rollup hotfix has been released:
A hotfix rollup is available for the out-of-band WebDAV module on IIS 7.0
http://support.microsoft.com/kb/955137
5.2 After installing WebDAV module and enabling it on a web site, mapping a network drive to the WebDAV site results in the following error:
System error 67 has occurred.
The network name cannot be found. [top]
There are two common causes of this error:
1. The Desktop Experience feature is not installed. You must use Server Manager to install the Desktop Experience feature which contains the WebDAV redirector.
2. You are using Basic authentication on the WebDAV site without SSL enabled. By default, WebDAV redirector does not accept Basic authentication on Non-SSL site due to security consideration. We should set up SSL on the site or change BasicAuthLevel registry setting on the WebDAV client. Please refer to:
Using the WebDAV Redirector
http://learn.iis.net/page.aspx/386/using-the-webdav-redirector/
5.3 You may experience some WebDAV clients connecting to IIS 7.0 WebDAV site run into a ‘Read-Only’ situation. [top]
This can be caused by the current version WebDAV module not supporting LOCK and UNLOCK commands. See:
What's New for WebDAV and IIS 7.0
http://learn.iis.net/page.aspx/360/what-is-new-for-webdav-and-iis-70/
The next version of WebDAV module plans to include a locking feature.
Related thread:
http://forums.iis.net/t/1151798.aspx