Contingency for missing IIS

Topics: IIS and Web Services
Mar 10, 2009 at 3:29 PM
Edited Mar 10, 2009 at 3:53 PM
In my situation, there is a distributed BizTalk architecture, where there is an orchestration server that is separate from the adapter server.  The same BTDF msi typically gets deployed to each machine in sequence and works fine.  If, however, the framework config file contains instructions for a virtual directory, the deployment fails on the orchestration server because IIS is not installed there.

In the old NANT deployment framework, I did the following to make sure that the IIS-related steps were not run unless IIS was present:

   <if test="${not file::exists('c:\windows\system32\iisreset.exe')}">
        <property name="includeVirtualDirectories" value="false" />
        <property name="skipIISReset" value="true" />
        <property name="wseExtensionPath" value="" />
        <property name="wseExtensionName" value="" />

So with the MS build version, is there any reason why I cannot do the same? (obviously, there is a potentially fauly presumption that iisreset.exe indicated the installation of IIS - there is probably a better way to check the assembly)

    <IncludeVirtualDirectories Condition="!Exists('$(windir) + \system32\iisreset.exe')">false</IncludeVirtualDirectories>
    <SkipIISReset Condition="!Exists('$(windir) + \system32\iisreset.exe')">true</SkipIISReset>
    <WseExtensionPath Condition="!Exists('$(windir) + \system32\iisreset.exe')"></WseExtensionPath>
    <WseExtensionName Condition="!Exists('$(windir) + \system32\iisreset.exe')"></WseExtensionName>

Mar 23, 2009 at 8:30 PM
Tom/Scott - Any comments or recommendations?
Mar 24, 2009 at 12:06 AM
Hi there - I can't imagine why your plan wouldn't work.  I would centralize the definition of your "is IIS present condition" in a property and use it everywhere it is needed.