Setting "Run WWW service in IIS 5.0 isolation mode" does not persist in IIS 6

Our IIS server was recently patched with the latest Microsoft Security Updates and since then, I am unable to enable the "Run WWW service in IIS 5.0 isolation mode" setting. This setting was enabled prior to patching and somehow changed during the updates. I have tried both using the IIS Manager console and the adsutil.vbs approach to change it. Either way, after resetting IIS for the change to take effect, when I go to verify that the isolation mode setting is enabled (true) I find that is reverts back to being disabled (false).

Now... The patches have already been rolled back, however the setting still does not persist when I enable it. While I am trying to research the patches that were applied to see if there is a known issue (or perhaps a change in this setting's behavior) I was hoping someone else might have come across the same problem. Any help towards a workaround would be greatly appreciated!

Isolation Mode

>cscript adsutil.vbs set W3SVC/IIs5IsolationModeEnabled TRUE

    IIs5IsolationModeEnabled        : (BOOLEAN) True

>iisreset

    Attempting stop...
    Internet services successfully stopped
    Attempting start...
    Internet services successfully restarted

>cscript adsutil.vbs get W3SVC/IIs5IsolationModeEnabled

    IIs5IsolationModeEnabled        : (BOOLEAN) False

Solution 1:

I found that the root cause of this issue was that my change had not been persisted to the IIS metabase on disk before the IISRESET command forcefully terminated the service (thus wiping out my change from the in-memory metabase cache).

Further information from Microsoft KB 286196 confirms that this behavior occurs for any changes to the IIS metabase if they have not been saved to disk before the reset occurs.

You can either wait for the changes to be saved (2 minutes I think), or use the following workaround:

>net stop iisadmin /y

>net start w3svc
>net start msftpsvc
>net start smtpsvc
>net start <short name for any other services that are listed when you stop IIS>

I also found that if I use "IISRESET /noforce" it will fail to restart IIS the first time after making my config change but then succeed on the second attempt and my changes are persisted correctly when the service comes back online; Issuing 2 "IISRESET /noforce" commands in succession seems to do the trick without having to wait at all for changes to be saved to disk.