I'm developing an Internet Server API (ISAPI) Web application that's included in the application mappings. Because the Web server automatically caches the applications it loads, if I find an error, I need to unload the ISAPI application (i.e., restart the Web site) before I can install a new version of the application. During development, I would like to disable the automatic caching of this application. However, in the Microsoft Management Console (MMC) Internet Services Manager snap-in, the check box to enable and disable the caching of ISAPI applications is shaded. How can I disable the caching?
Funny how I've worked with IIS for a long time and never noticed this problem. The check box you're referring to is on the App Mappings tab of the Application Configuration window. If you view a Web site's App Mappings tab in the Application Configuration window, the Cache ISAPI applications check box is selected but isn't shaded, as Figure 1 shows. However, if you view the Application Configuration window for a virtual directory or directory, the Cache ISAPI applications check box is selected and shaded. According to the Microsoft article "You Cannot Change the 'Cache ISAPI Applications' Property" (http://support.microsoft.com/directory/article.asp?id=kb;en-us;q312883), a bug in IIS 5.0 causes this problem.
To set or clear the CacheISAPI property in the metabase, you can use the adsutil.vbs script. To disable the caching of ISAPI applications, launch this script with the command
X:\inetpub\adminscripts cscript.exe adsutil.vbs set w3svc/web#/root/foldername/cacheisapi 0
where X is your drive letter, web# is the number of your Web site, and foldername is the name of the folder that contains the ISAPI applications you don't want to cache. To enable the caching of ISAPI applications, launch the script with the command
X:\inetpub\adminscripts cscript.exe adsutil.vbs set w3svc/web#/root/foldername/cacheisapi 1
where X is your drive letter, web# is your Web site's number, and foldername is the name of the folder that contains the ISAPI applications you want to cache. When you type either command, it needs to be in one continuous line. If you're unfamiliar with how to determine a Web site's number, see "Distinguishing Web Sites in IIS," November 2000, InstantDoc ID 15833.