The latest version of this document can always be found at http://www.adsonline.co.uk/IISExport/Documentation/
For those who don't like reading manuals!
Firstly, if you do skip the rest of the documentation and then hit a problem, please read the rest of this file before contacting support, otherwise if your problem is documented here you will only be referred back.
To use this program you
A server to export web sites from (running IIS 4, 5 or 6)
A server to export web sites to (running IIS4, 5 or 6 and can be the same server)
If you have just the one server and are planning to wipe it and re-load your IIS configuration please take a full backup using your backup software first, just in case. You will need to note down settings such as your ODBC database names, IP addresses etc. You will have to copy/move your web content to a remote location so it will survive the wiping. Run IIS Export and use the "to database" export option. Copy the file IISExportData.mdb from the server, wipe the server and re-load everything. Copy the IISExportData.mdb back onto the machine and use IIS Export to re-load the settings.
If you have two servers, but they are not on the same network use the export "to database" option as above.
If you have two servers and they are on the same network use the export to "an IIS server" option. This will connect the two IIS computers directly to each other. This also allows for the copying of files (see section below for notes) at the same time.
Whatever route you choose
If security is important to you and your files were on an NTFS drive you will want to copy them whilst preserving their permissions. See the section on transferring files below for the best way.
the IIS Export Utility
The IIS Export Utility was created by Adsonline. It is designed to export web and ftp sites from Microsoft's Internet Information Server (IIS) version 4/5/6 to either a database for later import, or straight into another IIS server. Before this program there was no easy way to transfer web sites from one server to another, including all virtual directories, permissions and so on. Copying the files alone will not re-create IIS permissions, virtual directories or any of the many other options which can be set with IIS.
"Until recently, no one
had designed a utility specifically to achieve duplication of an IIS setup from
one server to another, with no clusters or enterprise required. So I was
delighted when I ran across a company offering a utility that does exactly
that, complete with virtual directories and other settings."
Brett Hill - Windows NT Magazine's IIS Administrator.
You may need to transfer IIS web/ftp sites if you run out of resources on a server, upgrade or buy a new server or just need to assign control to a different server.
The program was created as Freeware in the version 1.x series because we wrote the program for in-house use and decided it was so useful we should share it with everyone. The licensing model has been changed for the v2.x and v3.x series due to increasing interest and the support requests that come with it. The tool has now grown into an Enterprise Backup tool for IIS. If you find this program useful (you probably will do!) please register with us. Registration fees can be found on the order/registration page (either from the menu in the program or from http://www.adsonline.co.uk/IISExport/). For full details see the license agreement below. The v4.x series is now licensed per server with various license packs available.
Using this software safely
Before you begin to use IIS Export, you must do the following. If you do not carry out these steps you may corrupt, damage, or even loose your web sites and/or IIS installation. In worst case scenario, incorrect use could lead to re-loading IIS.
Firstly, prepare the target server (Server B). If not already done, you will need to install Windows NT4/2000/2003, Windows Option Pack Including IIS (NT Server 4 only) and any applications needed such as MS Exchange, SQL Server etc. Ensure that any custom ActiveX controls / components are installed and correctly registered. Add any necessary ODBC data sources. Anything else you can think of that could possibly be done before site transfer...
(If you are replacing the source server (Server A), with the target server (Server B) you will either need to : Change all your DNS Entries to point to the new servers IP Address; or assign Server B all the IP addresses used for the web/ftp sites by Server A. If the latter is necessary, you cannot run both servers at the same time with the same IP's. Carry out the next step, and when the sites are stopped, set the web/ftp services to manual startup, assign the IP addresses and re-boot. *Note, for testing purposes you can create additional DNS entries (such as www2) and direct these at Server B's temporary IP Address.
(b) Stop the services
While not strictly necessary, we recommend you stop the websites you will be exporting. This prevents any loss of data (i.e. web hit statistics or worst case database entries, such as orders!). Use the Internet Management Console (IMC) to do this. If your sites share data with any other sites, stop them also. You may want to stop the "World Wide Web Publishing Service" and/or the "FTP Publishing Service" depending on the type of site you want to export. Leave the IIS Admin Service running. The web sites should be stopped to ensure data consistency. For example, if someone were to make an on-line order after you had copied the files to the new server, the order may get lost.
(c) Take a backup!!!
Perhaps the most important step! Backup your files by whatever means you usually would (you should have a backup routine of some kind implemented) i.e.. Tape backup etc. Now, open the Internet Management Console, Right click on the computer name of Server A and select Backup/Restore configuration. Press create backup, type a name and press ok. If things go wrong, restoring is just as easy. We also recommend that before you start an export to Server B, you take a backup using IIS Export by exporting your web sites (all of them, not just the ones you will be working with) to the database.
(d) Copy the files
You will need to transfer the files (html/asp/gif/jpg etc) from your Server A to Server B. Now, copy the actual files from the first server (Server A) to the target server (Server B). There are several ways you can do this. If your files reside on an NTFS drive then you will probably want to retain the NTFS permissions.
Copying files with NTFS
Starting with version 2.0 of IIS Export this step can be done in IIS Export. Copying files using just windows explorer will not retain their NTFS permissions across a network Choose one of the following :
Using IIS Export
This step can be done along with the export of the IIS settings below, or you can do it separately. Tick the "Replicate Files" option. Copying files using IIS Export and also replicating their NTFS permissions is slower than the other options and should only be used for convenience or when your web directories don't contain too many files. Avoid this method if you store log files or statistical files (such as visitor reports) in your web directories. Clicking "Replicate file permissions" will make IIS Export individually replicate each files security information, while additionally ticking "Fast file permissions" will set all files security information to that of their parent directory. So if you set your security policies at the directory level this is the better option. IIS Export will copy not only the content of the web directories but also that of any virtual directories (in fact it will replicate all directories listed in the "Directories" tab). To use this option you must enable the default shares on all drives that will be accessed on the source and target machines (i.e. share the c drive as c$ etc.)
SCopy is a program provided with the NT Resource kit. It is an MSDOS command line utility for copying files while retaining their NTFS permissions.
Using a backup tape
Probably the quickest and easiest way if you have a good/fast backup system is to backup the entire web directories and restore them to the new location.
For Windows 2000 users
This is an extract from an email that was sent to us :
"Regarding your the section in your documents about maintaining file
permissions when copying files from one server to another... The simplest
way is using a utility found in the W2K Resource Kit, robocopy.exe.
Robocopy does everything the "rsycnh" utility can do in unix, and then some.
> It has several options, including maintaining file permissions, excluding
> specific files or directories, true replication w/ the /mir switch, etc...
> Check it out, for you may want to add it to your documentation as another
> option to copy files.
The command I use is "robocopy \\ip\servera\dir \\ip\serverb\dir /mir /sec". It replications our web servers directory structure (for all the web sites) and maintains NTFS file permissions on specific files/folders that have set.
Using IISExport and a batch file including robocopy.exe (replicating files), comrepl.exe (replicate our COM+ components) and regsvr32.exe (on components outside of COM+) will perform a true replication of the IIS/COM+ environment for our production web servers...."
Copying files without
You can use any of the methods above in addition to using windows explorer.
It is important to note that if the files reside in a different directory on Server B than they used to on Server A you will need to change the paths before you transfer the site(s). Luckily, when you select a site for export, IIS Export scans through the site picking out any (virtual) directories that have a path set. You can then change the paths in IIS Export.
Now that the files have been copied, it's time to transfer the sites!
You will need :
Windows NT Server 4/2000/2003 (Intel) x 2 or more
Internet Information Server 4/5/6 x 2 or more
This software x number of servers
Some web/ftp sites to transfer
Importing a list of
web/ftp sites from an IIS server
To get a list of the web/ftp sites currently residing on Server A, select the type of site you want to import (web or ftp), then type in the server's machine name (such as NT, SERVER, INTERNET, www.yourdomain.com) or IP Address and press "List Sites". IIS Export will connect to that server and get a list of sites. If you are importing from a previously exported database, click the "Database" tab and click list sites. A list of all sites in the database will be displayed. If you have exported the same site more than once they will be listed in chronological order with your most recent export at the bottom of the order.
Click on a site from the
list and you will notice some boxes appear in "New Values". This is where you
configure the paths for the directories on the new server, and the new IP
addresses for the sites (if they are changing).
You can select multiple sites at once
The left hand box in this tab shows the folders in the web/ftp site, and the right hand box shows the directories they are set to point to. If the web/ftp sites will reside in a different location on Server B you will need to change these values before exporting. Double click the directory you want to change and a box will pop up asking for the new path.
IP Addresses Tab
This tab is used to setup the IP addresses for the site on Server B, again the old IP addresses are shown in the left box and the new ones are shown in the right box. Double click an IP Address to edit it, press Add to add in another one, or click and then press the Back Space key to delete an entry. The IP addresses should be entered in the following format IPAddress:PortName:HostName . For example, 22.214.171.124:80:www.adsonline.co.uk . You only need to enter the host name if you have more than 1 web site sharing the same IP address.
SSL IP Addresses Tab
This tab is the same as the IP Addresses Tab, but is used to setup the Secure connections to the site. If you have none setup, or do not know what an SSL IP Address is, leave this setting alone.
Find & Replace
This is a new tab for v3.x and allows you to globally find and replace values, such as drive letters, directories, IP addresses etc. This tab is not tied to the individual web sites you select as the other tabs are, instead it will affect all sites exported. The settings in this tab will also be saved with backup jobs. An example of use might be if you want to move your web sites from the c: drive to the d: drive. If you put "c:" as the old value and "d:" as the new value, IIS Export will find and replace all occurences of c: when doing an export .
Exporting web/ftp sites to a database
Now that you have selected some web sites for export you can store the details in a database. This option should only be used as : a backup procedure, when you cannot physically have a local network connection between Server A and Server B; or if you do not want to bring the sites onto Server B immediately. You can setup the new directories / IP addresses either in the step above, or later when you import the data back from the database and onto Server B.
It is important to note that due to some limitations IIS Export cannot transfer all the information from an IIS server to the database as it can directly between 2 IIS servers. The most important item it cannot transfer to a database is the IPSecurity setting. This is used to restrict access to a web/ftp site based on IP address. This may be written into future versions.
To export web/ftp sites into the database, select the sites you wish to export from the "Available Sites" list (Registration benefit - you can select/export multiple sites at once), then click the database tab in the "Export to:" section, and press the Export button.
The sites are then copied to the IISExportData.mdb database. This database is in Microsoft Access 97 format, you should not alter anything within it. Copy this file to the target server or a safe place.
Exporting to an ODBC database
Starting with version 3.x you can export to a database other than IISExportData.mdb. By going to the File menu and Choose Database Location you can specify an ODBC system DSN to export to. In order to acheive this, you must first re-create the structure of the IISExportData.mdb file in your ODBC database. This includes the primary keys, automatic ID numbers and any sort orders . Because of the obvious potential to get this bit wrong this option is not supported.
Importing a list of web/ftp sites from a database
If you have previously exported data to the database you can re-import it by copying the IISExportData.mdb file (or pointing to your ODBC data source as explained above) and clicking on the Database tab under "Import From". Then press "List Sites" and they are imported back into IIS Export. You cannot re-export them to the database again. If you have exported the same site (or sites with the same name) more than once to the database, their name will appear multiple times in the list, the one nearest the bottom will be the last one you exported. Again you can setup the directories / IP addresses if you didn't do this before you exported.
Exporting web/ftp sites
to an IIS server
This is the most important function of IIS Export. You must first import a list of sites from either another IIS Server, or from the database. Then you must setup the directories and IP Addresses if they will be different on the target server. Only then are you ready to carry out this step.
Click on the tab labeled "Another IIS Server" in the Export To area, this will enable the export options. Type in the machine name / IP address of Server B, the target server (such as NT, SERVER, INTERNET, www.yourdomain.com). Select whether you want to "Create as new webs" or "Overwrite existing webs" OR "Overwite - Preserve Numbers". Creating new webs will place your web/ftp sites after any which already exist. Overwriting existing webs will delete existing web sites that reside on Server B and replace them with the new sites. Overwrite and preserve numbers deletes existing web sites and replaces them with the import sites as the normal overwrite option does, but it preserves the W3SVC number that was assigned to the site. This is handy when you analyse your log files and need to point to the same log file directory.
*IMPORTANT NOTE - Overwriting webs using the normal overwrite mode will overwrite from the first web site upwards, it will not overwrite web sites by name. For example, if you have web sites called www.a1.com on Server A, and www.bed.com, www.sun.com, www.a1.com, www.fish.com on Server B in that order, IIS Export will delete www.bed.com and replace it with www.a1.com. This will cause a problem if both occurrences of www.a1.com share IP or host names. If you have any sites existing on Server B, we suggest you choose the "Create as new webs" option, and manually delete any unwanted web sites using the IMC.
There are two list boxes which tell IIS Export the IIS version that the sites came from and the version that the sites are going to. It is important that you set these correctly or your web sites will not work. There were some changes under the bonnet between IIS 4 and 5 and IIS Export has to take this into account. Tick "Replicate IIS configuration" (and any other options you want). Now click "Export" and your sites will begin exporting.
This is a list of options that you do not want to transfer. IIS Export has a default list of properties to exclude, and unless you know what you are doing you should leave these as they are. ServerBindings, SecureBindings, and Path are all settings you assign in the "New Values" area, so they are not transferred because they are set manually. In addition, all of the Appxxxx settings are not transferred. This is because the "Applications" have to be re-created. Exporting them will not work because they are assigned unique identifiers on each server. Anonymous user name and password are also not transferred because depending on your security setup they will probably not work, and it is best to use the local machines IUSR security account for this.
You can add your own exclusions when the program is running by typing them in the box labeled "Additional Exclusions" and pressing Add. You can remove them by selecting the item and pressing the Back Space key. You can make permanent changes to this list by opening IISExport.mdb and altering the table ExcludedExportParameters (Note - IncludedExportParameters table doesn't do anything, it is there for information only). You will need Microsoft Access 97 or higher for this task. Do not amend these values if you don't know what you are doing, and always make a backup copy first!
Using IIS Export as part of a backup routine
IIS Export can now be integrated as part of your backup routine. This is achieved by running IIS Export from the command line with the RUNBACKUP option.
First of all, load IIS Export, type in the name of the source server and press list sites. Click on the site(s) that you want backed up and in the "Export to" section click the "Database" tab. Now go to the file menu and choose "Save Backup Job". You will be prompted for a name for the backup job. You have now told IIS Export what sites to backup when it is run with the RUNBACKUP command line option. If you select all of your sites, you will be asked if you want to backup any sites that you might add in the future. If you don't select this option, or did not select all site, when you add sites to your IIS configuration and want them backed up you will need to repeat this process.
You can select multiple sites.
Now you need to schedule the execution of IIS Export. You can use the scheduler service that comes with NT for this. Set the scheduler service startup to automatic if it isn't already. Now open a command prompt (start, run, command). Follow the instructions for scheduling a command from http://www.ntfaq.com/Faq.cfm?FaqID=1783 (something like "AT \\webmachine 00:00 /every:F c:\progra~1\Adsonl~1\IISExp~1\IISExport.exe RUNBACKUP").
When this executes; IIS Export will backup the sites to a database and store them in the "BackupJobs" directory and will title it according to the date/time the backup was run. This directory should be included for backup in your backup routine (or you could write a batch file to copy the files to a safe location).
To restore from a backup, rename the backup file IISExportData.mdb and place it in the same directory as IISExport.exe. Now follow the steps for restoring from a database.
12. Command line options
/Runbackup - Starts IIS Export in backup mode. You should not see the IIS Export window unless there is a problem. Check the IISExport.log file to check your export worked correctly. You must have saved a backup job prior to running IIS Export in this mode.
/b - specify the backup job file name. Defaults to backup.job in the program directory.
/d - Logs more detailed debug information to log file
/f - Starting with version 4.1 everything with a class of IIsFilter (ISAPI filters) is excluded by default (as they often should be installed by their installer program). Use this switch to include them.
/i importservername - Specify name of import server (use DATABASE to specify the database)
/e exportservername - Specify name of export server (use DATABASE to specify the database)
> /t FTP or /t WEB - Speicfy site type
Hopefully you shouldn't have to read this section, but here are some common problems you may have and their solutions.
Metabase check and fix
Due to the increasing number of scripts that are floating about for IIS from version 3.1 we have included a tool to check the condition of your metabase to look for damage frequently caused by these scripts. The check tool can be run to check for any known problems. If problems are detected you should first take a backup of your metabase through the Internet Service Manager backup facility, then run the fix tool.
I can't get onto the site
now I've transferred it.
Have you started the "World Wide Web Publishing Service" and "FTP Publishing Service" back up again?
When sites are exported using IIS Export they are stopped by default on Server B. This is to allow you to make any last minute changes before going live. Open up the IMC, select your site and press the start button.
Did you set the IIS versions correctly? If you are exporting between different IIS versions and did not tell IIS Export it cannot accommodate for the differences between versions.
I get Active Server Page
errors on my web pages.
It looks like you have some code in your Active Server Pages that is server specific. It may be a reference to Server A's name, IP address or it may be a reference to an ODBC database you haven't setup on Server B. It could also be that you have not installed an ActiveX component on Server B that was installed on Server A.
I see funny code on my
It looks as if there was an error transferring the sites. Most likely Active Server Pages are broken and the code you are seeing is ASP code. You may also be seeing the HTTP Headers. This is a serious problem, and may have been caused if you aborted a transfer, or tampered with the default settings in the IISExport databases. If you exported your site(s) to the database, and then imported them onto Server B at a later date, something may have changed. You should re-export them from Server A and try again. If all else fails, restore from the backup.
I get the message "Unable
to enumerate files and directories..... The system cannot find the path
specified" when I open the IMC, or click on a site in it.
This error means that you did not setup the path to a directory properly. You can change it using the IMC, or go back and do the export again, specifying the correct directory.
I can't connect to my web
site using Visual InterDev or Front Page
Important Note - Please make sure you read the FAQ re: Front Page Extensions
When a site is exported, unfortunately the Front Page extensions are not loaded onto it. You will have to do this manually using the FrontPage Server Administrator. Click Start, Programs, Windows NT 4.0 Option Pack, Microsoft Internet Information Server, FrontPage Server Administrator. Press Install, select Microsoft Internet Information Server, tick the box at the bottom, select your web site(s) and press ok. If your web/ftp files were copied without their permissions (as may be done with windows explorer) then you should now uninstall and re-install FrontPage Server Extensions as a security measure. See the FAQ on our web site for more details.
My Forms / FrontPage
components are not working any more
See the above article.
I get a Permission Denied
message when I try and run an ActiveX control
This is usually due to your applications being "out of process". Un-tick the box "run in an isolated process".
I had access restrictions
setup before using Basic Authentication. My site is still prompting me for my
username and password, but not letting me in, why?
This is because your basic installation of IIS on Server B was not setup correctly. To amend this, go into the IMC, bring up your site and then bring up the properties for the site/directory/file in question. Click on the Directory Security Tab and edit the authentication control. Press the Edit box next to Basic Authentication, and specify your local domain in the box (you can browse to find this).
For more information about this see MS knowledge base article Q168908 and Q184319
My FTP site has stopped
allowing non-anonymous users in, why?
This is the same problem as above. Basically it is caused by the server's default domain not being the same as the old server. The following can be done :
For more information about this see MS knowledge base article Q168908 and Q184319
I type in the address of
a remote server and press "list sites" but no sites are listed - or I receive
an automation error
There are several reasons for this. Your server may only have web or ftp sites and you have the wrong "Type of site" selected. The server you are trying to connect to is on another domain/network or you don't have suitable permissions to access it. Try logging on as a user with more permissions. Lastly you may have DCOM disabled on one or more of the servers. Click the start button, click run, type dcomcnfg.exe and press ok. When the program opens, click on the "Default properties" tab and make sure "Enable Distributed COM on this computer" is ticked. Press OK and re-boot the computer. Ensure this is the same on both machines.
Many IIS 5 installations cannot see IIS 4 installations. Try running IIS Export on the IIS 4 server. If this doesn't work, as IIS Export does not have to be run on either the source or target machines (only a machine with IIS installed) you could add a temporary IIS 4 server to your network and use this as a "bridge". If you don't have an additional machine to spare, visit http://www.vmware.com and download their "Virtual PC" software.
When I've exported my
site, some virtual directories or IP addresses are not copied, why?
You must click on every site you want to export and allow it to fill out the lists of IP addresses and Virtual Directories. If you don't, or you move on to the next site too quickly these values may not get copied.
I get a permission denied
message when I press list sites
Try running IIS Export whilst logged in as a user that has the same password as the administrator on the remote machine.
I get a message about
"component not registered" or similar when trying to start IIS Export
We provide IIS Export in several packages. Some distribution sites require that no dependencies such as VB run time files are included. If you have problems starting the program, get hold of the latest "full download" version from our site http://www.adsonline.co.uk/IISExport/
"Forbidden IP address"
message when users try to connect to your web sites
This problem is not related to IIS Export and is not caused by it or the transfer process but we get asked about it a lot. It is a "security feature" of IIS. When you have the option "Enable reverse dns" active IIS attempts to resolve the IP address of each machine that connects to it. If it can't do this it assumes that the DNS has been hacked and rejects the request. For this reason it is not advisable to use reverse DNS. If you do need to do reverse lookups it's better to get hold of a custom ActiveX control, or some specialist software such as WebTrends.
My IIS 5 "Application Protection/Isolation"
settings are not transferring properly, why?
IIS 5 has 3 levels, Low isolation, Medium isolation and High isolation. IIS 4 only has 2. When you export/import you must make sure you tell IIS Export which web server you are using by changing the drop down boxes. For IIS 5 -> IIS 5 transfers and backups to databases you should set both boxes to IIS 5. Backups made in versions prior to v3 will not transfer this property properly. IIS 6 changes the isolation levels again.
"non fatal configuration error" when opening the
Internet Service Manager
Your transferred a site with a source metabase which was incorrectly configured. This usually occurs when an automated script has been used to create sites, and the /Root directory has been created as a normal directory instead of an virtual directory. Contact support (details below) for details of how to remove the failed transfer, and use IIS Export 3.1 upwards which contains a tool to detect and repair such sites.
While this version can be used to export between IIS 4 and
IIS 5 we have not been able to successfully connect to an IIS 4
server from a windows 2000 machines. Exports between 4 and 5
should be carried out from an NT 4 machine or via the
database. IIS 6 support is introduced as of v4.0.
Because of our registration policy we do not provide any SLA for support wether registered or un-registered and do not guarentee to fix any problems you may encounter. Our policy is that you must fully test the shareware version first. If you agree that it works to your satisfaction and you like the program or require the full features you register. Registration only entitles you to the extra feature of being able to select more than one site at a time. If you contact support (email@example.com) we will do our best to fix any problems you have.
Adsonline can be contacted at :
119 Leathwaite Road
Support Email firstname.lastname@example.org
General Email email@example.com
Please read this License agreement carefully. This program is provided "as is" and may contain errors, bugs or unexpected conflicts which may cause damage to your system. Adsonline can accept no responsibility for any problems occurring as a result of using this program. It is not approved, tested or endorsed in any way by the Microsoft Corporation. Microsoft, Internet Information Server, and IIS are all trade marks and registered to Microsoft Corporation. Please ensure that you take a full backup prior to using this software, and that you especially backup the Metabase. For instructions on using this software safely please read the provided documentation before you run the program. This program is provided in the first instance as a trial version under the label SHAREWARE. If you find the program useful, or you intend to use it commercially (i.e. to sell your services in transferring web sites using this application) we request that you register with us. Registration will enable additional features of the program. Registration does not entitle you to any technical support or other services. You must evaluate the program before purchasing. On this basis, we operate a no-refunds policy. IIS Export is free to try for 60 days in restricted mode. Various license levels and quantities are available for purchase. Once registered on a server a license is used and cannot be transferred to a different server. We reserve the right to change any details mentioned here. E&OE (c)2007 Adsonline LLP.