Yep. Basically just an interface in which one can directly edit the values of the properties in the admin/apphost config files. Perhaps something available as a snap-in or something. It may seem like a silly request, but it'd be a life saver for those administrators
who aren't that hip on XML. It'd also simplify things for those of us who are. :)
If your request would be a common ask we would implement this feature in a heartbeat. It's the first time that I hear this request though.
Don't get me wrong, moving the content directory to a different drive (%systemdrive%\inetpub\wwwroot) is a very common request. The reason we don't do it by default is that during IIS setup we can't be sure that there is another partition and that customers
want their content directory there. We can't show UI during setup because customers are even more annoyed about that (i.e. when you go to lunch and kick off an Windows install and expect it to be done when you come back. Instead you see a dialog box that asks
you for a path).
Moving all of inetpub is not very common though. There is an relatively easy way however. You can xcopy %systemdrive%\inetpub\ to a different partition and then open %windir%\system32\inetsrv\applicationhost.config.
You know, maybe this is not a common request because this forum is closed to anonymous posts and because it doesn't use the passport authentication like the technet communities and so it is a pain for people to post here.
But I'm annoyed enough that I joined.
I guess I don't understand enough about IIS 7 to understand why it is ok that we can't do with it what we did with the last version. I guess I don't feel like I should have to. I thought an upgrade was supposed to add functionality, not take it away. Of
course we can't just choose not to upgrade, because support goes away.
Anyway, here is another person making the request. If you google, or "live search" the rest of the internet, you will find others asking the same thing. Please Microsoft, put out a patch or a hotfix or at least a KB article that supports installing IIS
7 on a different drive. Failing that give us the official script to move C:\inetpub and make sure it actually works when we patch and apply service packs. I'm so tired of trying to learn how to keep our environment up and running on Microsoft products based
on the grapevine.
I have to completely agree with swgarasu. My company recently started integrating iis7 on 2008. From searching the net and this site I see many users that, like us, their company policy requires the inetpub directories to be located off
the OS volume. Our strategy and the strategy of many others has been to seperate as much application I/O from the OS drive as much as possible. I have noticed that the blogged fixes and scripts posted by Thomad, while operational as far as IIS7 is concerned,
has broken our third party backup software (EMC Networker) in that somehow VSS is looking for the original install location and this kicks an error that the VSS system writer has failed. This suggests that there is still a config or association that is telling
VSS that the default path for inetpub is on C:\ (we've moved to D:\). This also concerns me that VSS is not handling the new path correctly and we may not be able to restore based off of this. We're also left wondering if more will break down the road as
updates are applied.
IIS by now should allow for specifying a new default path during setup, or allow for migrating to a new default path post-install. This just makes sense and should be configurable from a snap-in. For all the new snap-in capability, it's starting to feel
like just as much xml editing, scripting, and CLI config has been additionally necessary to deploy several components of 2008.
REM simple error handling if drive does not exist or argument is wrong
IF NOT EXIST %MOVETO% goto err
REM Backup IIS config before we start changing config to point to the new path
rem %windir%\system32\inetsrv\appcmd add backup beforeRootMove
REM Stop all IIS services
iisreset /stop
REM Copy all content
REM /O - copy ACLs
REM /E - copy sub directories including empty ones
REM /I - assume destination is a directory
REM /Q - quiet
REM echo on, because user will be prompted if content already exists.
echo on
xcopy %systemdrive%\inetpub D:\WebContent /O /E /I /Q
@echo off
REM Move AppPool isolation directory
reg add HKLM\System\CurrentControlSet\Services\WAS\Parameters /v ConfigIsolationPath /t REG_SZ /d D:\WebContent\temp\appPools /f
REM Move logfile directories
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/sites -siteDefaults.traceFailedRequestsLogging.directory:"D:\Logfiles\Weblogs\"
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/sites -siteDefaults.logfile.directory:"D:\Logfiles\Weblogs"
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/log -centralBinaryLogFile.directory:"D:\Logfiles\Weblogs"
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/log -centralW3CLogFile.directory:"D:\Logfiles\Weblogs"
REM Move config history location, temporary files, the path for the Default Web Site and the custom error locations
%windir%\system32\inetsrv\appcmd set config -section:system.applicationhost/configHistory -path:D:\WebContent\history
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/asp -cache.disktemplateCacheDirectory:"D:\WebContent\temp\ASP Compiled Templates"
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/httpCompression -directory:"D:\WebContent\temp\IIS Temporary Compressed Files"
%windir%\system32\inetsrv\appcmd set vdir "Default Web Site/" -physicalPath:D:\WebContent\wwwroot
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='401'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='403'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='404'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='405'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='406'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='412'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='500'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='501'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='502'].prefixLanguageFilePath:D:\WebContent\custerr
REM Make sure Service Pack and Hotfix Installers know where the IIS root directories are
reg add HKLM\Software\Microsoft\inetstp /v PathWWWRoot /t REG_SZ /d D:\WebContent\wwwroot /f
reg add HKLM\Software\Microsoft\inetstp /v PathFTPRoot /t REG_SZ /d D:\WebContent\ftproot /f
REM Restart all IIS services
iisreset /start
echo.
echo.
echo ===============================================================================
echo Moved IIS7 root directory from %systemdrive%\ to %MOVETO%.
echo.
echo Please verify if the move worked. If so you can delete the %systemdrive%\inetpub directory.
echo If something went wrong you can restore the old settings via
echo "APPCMD restore backup beforeRootMove"
echo and
echo "REG delete HKLM\System\CurrentControlSet\Services\WAS\Parameters\ConfigIsolationPath"
echo You also have to reset the PathWWWRoot and PathFTPRoot registry values
echo in HKEY_LOCAL_MACHINE\Software\Microsoft\InetStp.
echo ===============================================================================
echo.
echo.
endlocal
goto success
REM error message if no argument or drive does not exist
:err
echo.
echo New root drive letter required.
echo Here an example how to move the IIS root to the F:\ drive:
echo.
echo MOVEIISROOT.BAT F
echo.
echo.
These are configuration paths for IIS web application, I don't see any support issue. And the IIS binaries supporting the apps are still in %systemdrive%.
<div class=ForumPostContentText>sethfullyclean- I am having the exact same issue with the VSS writers. Did you find any solution; I would be extremely interested to find out.
We could copy a dummy folder back to the original location to fool the vss writer. We had to abandon EMC networker for our backup solution though, it would not restore IIS correctly. Our version is outdated though. We ended up using Windows server backup to
a proxy server and used networker to backup the image files created by Windows server backup.
I used the script that Thomas provided. The default drive in the script is Fdrive. I changed it to E when running. However, I now see in the registry the following:
installpath: %windir%\system32\inetsrv
pathftproot: f:\inetpub\ftproot
pathwwwroot: f:\inetpub\wwwroot
Any ideas why it's showing F? I do see that it moved the files to the Edrive as well as changed the location for wwwroot in IIS along with the log files.
StormFX
10 Posts
Re: IIS 7: InetPub Location
Feb 12, 2007 05:47 PM|LINK
Yep. Basically just an interface in which one can directly edit the values of the properties in the admin/apphost config files. Perhaps something available as a snap-in or something. It may seem like a silly request, but it'd be a life saver for those administrators who aren't that hip on XML. It'd also simplify things for those of us who are. :)
Storm
qbernard
5016 Posts
MVP
Moderator
Re: IIS 7: InetPub Location
Feb 13, 2007 08:27 AM|LINK
Yes, I would like to have one too :)
And I believe that's in the release pipeline from Microsoft.
Bernard Cheah
swgarasu
20 Posts
Re: IIS 7: InetPub Location
Jan 30, 2009 09:01 PM|LINK
You know, maybe this is not a common request because this forum is closed to anonymous posts and because it doesn't use the passport authentication like the technet communities and so it is a pain for people to post here.
But I'm annoyed enough that I joined.
I guess I don't understand enough about IIS 7 to understand why it is ok that we can't do with it what we did with the last version. I guess I don't feel like I should have to. I thought an upgrade was supposed to add functionality, not take it away. Of course we can't just choose not to upgrade, because support goes away.
Anyway, here is another person making the request. If you google, or "live search" the rest of the internet, you will find others asking the same thing. Please Microsoft, put out a patch or a hotfix or at least a KB article that supports installing IIS 7 on a different drive. Failing that give us the official script to move C:\inetpub and make sure it actually works when we patch and apply service packs. I'm so tired of trying to learn how to keep our environment up and running on Microsoft products based on the grapevine.
sethfullycle...
2 Posts
Re: IIS 7: InetPub Location
Aug 21, 2009 09:31 PM|LINK
I have to completely agree with swgarasu. My company recently started integrating iis7 on 2008. From searching the net and this site I see many users that, like us, their company policy requires the inetpub directories to be located off the OS volume. Our strategy and the strategy of many others has been to seperate as much application I/O from the OS drive as much as possible. I have noticed that the blogged fixes and scripts posted by Thomad, while operational as far as IIS7 is concerned, has broken our third party backup software (EMC Networker) in that somehow VSS is looking for the original install location and this kicks an error that the VSS system writer has failed. This suggests that there is still a config or association that is telling VSS that the default path for inetpub is on C:\ (we've moved to D:\). This also concerns me that VSS is not handling the new path correctly and we may not be able to restore based off of this. We're also left wondering if more will break down the road as updates are applied.
IIS by now should allow for specifying a new default path during setup, or allow for migrating to a new default path post-install. This just makes sense and should be configurable from a snap-in. For all the new snap-in capability, it's starting to feel like just as much xml editing, scripting, and CLI config has been additionally necessary to deploy several components of 2008.
rajansravi
3 Posts
Re: IIS 7: InetPub Location
Sep 22, 2009 05:32 AM|LINK
All,
Just found a script to perform a complete job of moving inetpub. This is as below. Input argument is the drive letter..
-------------------------------------------------------------------------------------------------------------------
REM simple error handling if drive does not exist or argument is wrong
IF NOT EXIST %MOVETO% goto err
REM Backup IIS config before we start changing config to point to the new path
rem %windir%\system32\inetsrv\appcmd add backup beforeRootMove
REM Stop all IIS services
iisreset /stop
REM Copy all content
REM /O - copy ACLs
REM /E - copy sub directories including empty ones
REM /I - assume destination is a directory
REM /Q - quiet
REM echo on, because user will be prompted if content already exists.
echo on
xcopy %systemdrive%\inetpub D:\WebContent /O /E /I /Q
@echo off
REM Move AppPool isolation directory
reg add HKLM\System\CurrentControlSet\Services\WAS\Parameters /v ConfigIsolationPath /t REG_SZ /d D:\WebContent\temp\appPools /f
REM Move logfile directories
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/sites -siteDefaults.traceFailedRequestsLogging.directory:"D:\Logfiles\Weblogs\"
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/sites -siteDefaults.logfile.directory:"D:\Logfiles\Weblogs"
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/log -centralBinaryLogFile.directory:"D:\Logfiles\Weblogs"
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/log -centralW3CLogFile.directory:"D:\Logfiles\Weblogs"
REM Move config history location, temporary files, the path for the Default Web Site and the custom error locations
%windir%\system32\inetsrv\appcmd set config -section:system.applicationhost/configHistory -path:D:\WebContent\history
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/asp -cache.disktemplateCacheDirectory:"D:\WebContent\temp\ASP Compiled Templates"
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/httpCompression -directory:"D:\WebContent\temp\IIS Temporary Compressed Files"
%windir%\system32\inetsrv\appcmd set vdir "Default Web Site/" -physicalPath:D:\WebContent\wwwroot
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='401'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='403'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='404'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='405'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='406'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='412'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='500'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='501'].prefixLanguageFilePath:D:\WebContent\custerr
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='502'].prefixLanguageFilePath:D:\WebContent\custerr
REM Make sure Service Pack and Hotfix Installers know where the IIS root directories are
reg add HKLM\Software\Microsoft\inetstp /v PathWWWRoot /t REG_SZ /d D:\WebContent\wwwroot /f
reg add HKLM\Software\Microsoft\inetstp /v PathFTPRoot /t REG_SZ /d D:\WebContent\ftproot /f
REM Restart all IIS services
iisreset /start
echo.
echo.
echo ===============================================================================
echo Moved IIS7 root directory from %systemdrive%\ to %MOVETO%.
echo.
echo Please verify if the move worked. If so you can delete the %systemdrive%\inetpub directory.
echo If something went wrong you can restore the old settings via
echo "APPCMD restore backup beforeRootMove"
echo and
echo "REG delete HKLM\System\CurrentControlSet\Services\WAS\Parameters\ConfigIsolationPath"
echo You also have to reset the PathWWWRoot and PathFTPRoot registry values
echo in HKEY_LOCAL_MACHINE\Software\Microsoft\InetStp.
echo ===============================================================================
echo.
echo.
endlocal
goto success
REM error message if no argument or drive does not exist
:err
echo.
echo New root drive letter required.
echo Here an example how to move the IIS root to the F:\ drive:
echo.
echo MOVEIISROOT.BAT F
echo.
echo.
:success
----------------------------------------------------------------------------------------------------------------
Thanks,
Ravi
swgarasu
20 Posts
Re: IIS 7: InetPub Location
Sep 22, 2009 01:41 PM|LINK
Hi Ravi,
The script is probably very good, but doesn't address the support issues- if MS isn't willing to support it, it doesn't help a whole lot.
qbernard
5016 Posts
MVP
Moderator
Re: IIS 7: InetPub Location
Sep 23, 2009 11:24 PM|LINK
Bernard Cheah
Reddog4891
1 Post
Re: IIS 7: InetPub Location- VSS Writer issue!!!
Oct 02, 2009 01:17 PM|LINK
I am having the exact same issue with the VSS writers.
Did you find any solution; I would be extremely interested to find out.
Please let me know!
</div>sethfullycle...
2 Posts
Re: IIS 7: InetPub Location- VSS Writer issue!!!
Oct 03, 2009 07:01 PM|LINK
ckts
3 Posts
Re: IIS 7: InetPub Location
Oct 23, 2009 02:06 PM|LINK
I used the script that Thomas provided. The default drive in the script is Fdrive. I changed it to E when running. However, I now see in the registry the following:
installpath: %windir%\system32\inetsrv
pathftproot: f:\inetpub\ftproot
pathwwwroot: f:\inetpub\wwwroot
Any ideas why it's showing F? I do see that it moved the files to the Edrive as well as changed the location for wwwroot in IIS along with the log files.
Has MS provided any more guidance on this?