After much digging while trying to have a 100% silent install of BizTalk, I have determined that a silent install of the ESB 2.1 Toolkit is not possible.

I have made it as hands free as I think is possible. The below scripts are designed for a single server installation.

Here is the batch script that needs to be run:

  1: start /w pkgmgr /iu:IIS-ASPNET;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-IIS6ManagementCompatibility;IIS-Metabase
  2: msiexec.exe /qn /i "\\BizTalk Server 2010 Enterprise\BizTalk ESB Toolkit 2.1-x64.msi"
  3: "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\VSIXInstaller.exe" "C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Tools\Itinerary Designer\Microsoft.Practices.Services.Itinerary.DslPackage.vsix" /q /s:Ultimate /v:10.0
  4: move "C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Bin\ESBConfigurationTool.exe.config" "C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Bin\ESBConfigurationTool.exe.config.old"
  5: copy "\\BizTalk Server 2010 Enterprise\BizTalk Server\ESBConfigurationTool.exe.config" "C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Bin\ESBConfigurationTool.exe.config"
  6: echo "Run ESBConfigurationTool.exe and press <Enter> when complete"
  7: pause
  8: "C:\Program Files (x86)\Microsoft BizTalk Server 2010\BTSTask.exe" ImportApp -Package:"C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Microsoft.Practices.ESB.CORE_NOBINDING64.msi" -ApplicationName:Microsoft.Practices.ESB -Overwrite
  9: "C:\Program Files (x86)\Microsoft BizTalk Server 2010\BTSTask.exe" ImportBindings /Source:"\\BizTalk Server 2010 Enterprise\BizTalk Server\Microsoft.Practices.ESB.CORE_Bindings.xml" -Application:Microsoft.Practices.ESB
 10: "C:\Program Files (x86)\Microsoft BizTalk Server 2010\BTSTask.exe" ImportApp -Package:"C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Microsoft.Practices.ESB.ExceptionHandling_NOBINDING64.msi" -ApplicationName:Microsoft.Practices.ESB -Overwrite
 11: "C:\Program Files (x86)\Microsoft BizTalk Server 2010\BTSTask.exe" ImportBindings /Source:"\\BizTalk Server 2010 Enterprise\BizTalk Server\Microsoft.Practices.ESB.ExceptionHandling_Bindings.xml" -Application:Microsoft.Practices.ESB
 12: msiexec.exe /qn /i "C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Microsoft.Practices.ESB.CORE_NOBINDING64.msi"
 13: msiexec.exe /qn /i "C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Microsoft.Practices.ESB.ExceptionHandling64.msi"
 14: iisreset
 15: pause

Line 1 adds the necessary additions to IIS

Line 2 actually installs the ESB components, which in turn adds the items to the start menu and unpacks the BizTalk msi’s etc.

Line 3 installs the Itinerary Designer into Visual Studio

Line 4 archives the default configuration file for the ESBConfigurationTool.exe application

Line 5 copies a new configuration file for the ESBConfigurationTool.exe to use

Line 6 echoes that it is time to run the configuration tool

Line 7 waits until the configuration has been run

Line 8 imports the ESB Core application into the BizTalk Administration Console

Line 9 applies the bindings (this needs to be customized from the samples provided during the install (Line 2))

Line 10 import the ESB Exception application into the BizTalk Administration Console

Line 11 applies the bindings like Line 9

Line 12 installs the ESB Core application into the GAC

Line 13 installs the ESB Exception application into the GAC

Line 14 resets IIS since modifications were made in step 1

Here is a sample of the configuration file, so when you open up the ESBConfiguration tool, you simply need to enable each of the features, press the Apply Configuration tool and walk through it.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>    
    <!-- Management Database -->
    <add key="ServerInstance" value="."/>
    <add key="DatabaseName" value="ESBManagementDB"/>
    <add key="Username" value="CORP\svcBTSHost"/>
    <add key="Password" value="P4ssw0rd!"/>
    <add key="BizTalkAppGroup" value="CORP\AppUsers"/>
    <add key="BizTalkAdminGroup" value="CORP\ServerAdmin"/>
    <add key="UseSqlAuthentication" value="False"/>
    <!-- Itinerary Database -->
    <add key="ItineraryServerInstance" value="."/>
    <add key="ItineraryDatabaseName" value="ExceptionDB"/>
    <add key="ItineraryUsername" value="CORP\svcBTSHost"/>
    <add key="ItineraryPassword" value="P4ssw0rd!"/>
    <add key="ItineraryBizTalkAppGroup" value="CORP\AppUsers"/>
    <add key="ItineraryBizTalkAdminGroup" value="CORP\ServerAdmin"/>
    <add key="BizTalkIsolatedHostGroup" value="CORP\IsolatedUsers"/>
    <add key="ItineraryUseSqlAuthentication" value="False"/>    
    <!-- Core Services-->
    <add key="CoreWebSiteName" value="."/>
    <add key="CoreUserAccount" value="CORP\svcBTSIsoHost"/>
    <add key="CoreUserAccountPassword" value="P4ssw0rd!"/>
    <add key="CoreBizTalkIsolatedHostGroup" value="CORP\IsolatedUsers"/>
    <!-- Exception Services-->
    <add key="ExceptionWebSiteName" value="."/>
    <add key="ExceptionUserAccount" value="CORP\svcBTSIsoHost"/>
    <add key="ExceptionUserAccountPassword" value="P4ssw0rd!"/>
    <add key="ExceptionBizTalkIsolatedHostGroup" value="CORP\IsolatedUsers"/>
    <!-- Configuration-->
    <add key="ConfigurationSource" value="False" />
    <add key="ApplicationName" value="ESB Toolkit" />
    <add key="ContactInformation" value="[email protected]" />
    <add key="AdminGroupName" value="CORP\SSOAdmin" />
    <add key="UserGroupName" value="CORP\AppUsers" />
    <add key="ConfigurationFilePath" value="C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\esb.config" />
  </appSettings>
  <system.diagnostics>
    <switches>
      <add name="ESBConfigTool" value="4" />
    </switches>
    <trace autoflush="true" indentsize="4">
      <listeners>
        <add name="FileListener" 
             type="System.Diagnostics.TextWriterTraceListener"
             initializeData="EsbConfigurationTool.log"/>
      </listeners>
    </trace>    
  </system.diagnostics>
</configuration>