Cannot backup IIS configuration. IIRF locks Metabase.

Topics: Developer Forum, Project Management Forum, User Forum
May 11, 2007 at 12:04 AM
We've installed the isapi filter on only two (2) servers in our network. Since we've installed it, we haven't been able to back-up the IIS configuration (right-clicking on the server, selecting Backup/Restore and then creating a new backup.) It gives us an error that reads "The process cannot access the file because it is being used by another process."

The only way we can perform a backup or have IIS remember any changes that we make is to force an IIS shutdown using the Services Control Panel, perform the backup and then restart IIS. The isapi filter appears to have a lock on the metabase.

This issue does not occur with any of our other IIS servers that are pretty much configured exactly the same.
May 11, 2007 at 12:32 AM
I downloaded and installed the latest version (1.2.12b) and was still unable to backup the IIS configuration.
May 11, 2007 at 9:38 PM
Hmmm, I don't know the answer to this. The filter does not do anything explicitly to lock the metabase.
Are you saying that when IIRF is not present, you can do backups, and when IIRF is present (configured as a filter on IIS), you cannot do backups?
May 29, 2007 at 4:41 PM

Are you saying that when IIRF is not present, you can do backups, and when IIRF is present (configured as a filter on IIS), you cannot do backups?

I'm stating that all of our servers are configured identically... except for the 2 that have IIRF installed. Since installing IIRF, any changes to the IIS config (adding new website, changing virtual directory, turning on logging, etc) requires a service stop & start to ensure that the changes are saved. We've never had to perform a service stop/start before to retain IIS changes and the only servers that are experiencing this are the 2 servers with IIRF installed.

Please note: We cannot uninstall IIRF because we have a couple of major national printed promotions currently relying on the URL redirection we implemented using IIRF.
Jun 13, 2007 at 1:18 AM
I think the problem may be that IIRF is starting a thread that watches for changes in a directory via the Win32 call ReadDirectoryChangesW(). This essentially will keep open a file in the directory. If this directory happens to be the same directory as that which stores the IIS metabase, then you will have this problem.

Could you possibly try to create a new, different directory for the IIRF ini file. Re-configure IIRF to be installed in that new directory. Then retry your backup. That might do it.

Oct 10, 2007 at 9:57 PM

I was also suffering from the inability to save the metabase changes to disk and was able to resolve it using your suggestion of using a different directory. Previously I had the .dll and .ini files in the inetsrv directory. After moving them out, the metabase disk writes went off without a hitch. I really think this should be noted in the Readme file since this can lead to very big problems. In fact, I think I would explicitly state that users should NOT install it in the inetsrv directory and rather should create a new directory with the appropriate permissions.

Thanks for a great product. Other than that little hangup, it's been a godsend.

Jan 17, 2008 at 12:56 PM
Hi Everyone,

I just wanted to note that I also experienced the exact same problem as the guys above (on 3 separate servers).
It's a real pain too - because the metabase is locked, any changes made to your IIS configuration are not saved to disk, so after a server restart any changes made to ANY websites on the server are lost!
You'll also see errors logged in your system log from IIS complaining that it can't write to it's metabase.

After a bit of head scratching I realised that the only recent change I'd made was to install IIRF, and a quick test showed that removing it again fixed the problem.

My guess that it was a folder lock (I'm assuming caused by whatever is keeping an eye on the INI file) also proved to be correct, and I can confirm that simply installing IIRF in different folder solves the problem.

Can I echo pkluss's suggestion that the documentation be updated to state that IIRF should NOT be installed in \windows\system32\inetsrv (although a sub-folder is fine).

Other than this gripe - what a great tool! Congrats to all who've worked on the project.

ps. Question to the admins: Is it appropriate to post this problem to the issue tracker?
Feb 5, 2008 at 6:50 PM
I will document this in the readme file. Is this a workitem? Not sure. I don't know how to resolve it aside from the documentation which will say "if you want to backup your metabase, do not install IIRF in \windows\system32\intesrv " .
Feb 5, 2008 at 9:55 PM
Backing it up isn't necessarily the major issue... it's an additional sympton. The initial problem was getting any changes made to IIS after installing IIRF in "\windows\system32\intesrv\" to be retained after a restart/reboot. We kept losing all settings unless we backed up the metabase each time. All problems have been eliminated after moving IIRF into a sub-directory of ".\inetsrv\".
Feb 6, 2008 at 12:54 AM
Ok, glad you have it resolved now.