More adventures in scripting - I've been using the Microsoft Deployment Toolkit (MDT) 2010 to work on scripting server installations in our fledgling Hyper-V environment. The goal of this process is both to be able to quickly stand up new environments for disaster recovery as well as eliminating infrastructure discrepancies when deploying across environments (no more "It worked on my box" or "It worked in the QA environment"). On my future TODO list is to post my learnings for this process (stay tuned).
On to the topic of THIS blog: One of the challenges I faced was the BizTalk 2006 R2 quiet install. Although the installation guide shows the command line switches (/CABPATH, /L(og), etc.), when it comes to the "ADDLOCAL" switch, which specifies which features of BizTalk to install, all that they give you is the "ALL" command, which installs all of the features (oddly enough). Unfortunately, in my environment, I do not want to(and cannot even if I did due to security issues) install every feature. For example, I can't install portal components and dev/SDK tools into my production environment.
Unlike the guides for SQL Server, which shows EVERY possible valid value for the ADDLOCAL parameter, I couldn't find much additional information about the values for BizTalk. I asked around and didn't find anyone who had information as to which values were valid for this switch. I did find various posts which had a listing of the switches, but they didn't seem to map to the features you see in the GUI very well. What I ended up doing in the end was installing, one by one, each feature and recording the ADDLOCAL commands which are written to the setup log (which was a real testament to Hyper-V and the snapshot process!). I post them here in the hopes that others may learn from these.
A few notes: You may see the commands, such as "BizTalk" and "WMI" repeated for each section heading. This is by design. Apparently some components are ubiquitous across all features, but they only need to be specified once. For example, if you are installing the Server Runtime components and the Administration tools, only specify "BizTalk" and "WMI" once. Also, I found that the switches are case-sensitive. FBAMClient blows up while FBAMCLIENT is valid.
BizTalk 2006 R2 features
BizTalk, WMI, Runtime, Engine, MOT, HwsBaseAssemblies, MessageQueuing, MSMQ, HwsRuntime
Base EDI Adapter
(Deprecated in 2006 R2)
BizTalk EDI/AS2 Runtime
Windows Communication Foundation
BizTalk, WMI, InfoWorkerApps
Business Activity Services
Business Activity Monitoring
Human Workflow Web Service
BizTalk, WMI, AdminAndMonitoring, AdminTools, MonitoringAndTracking, BizTalkAdminSnapIn, HealthActivityClient, BAMTools, HwsWMIProvider, PAM
Windows Communication Foundation Administration Tools
Developer Tools and SDK
BizTalk, WMI, SDK, Development, VSTools, BizTalkExtensions, BizTalkExplorer, Designer, OrchestrationDesigner, PipelineDesigner, XMLTools, AdapterImportWizard, HwsDesigner, BasSchemaExtension, DeploymentWizard, TrackingProfileEditor
BizTalk, WMI, AdditionalApps
Enterprise Single Sign-On Administration
Enterprise Single Sign-On Master Secret Server
Business Rules Components
Windows SharePoint Services Adapter
BAM Alert Provider For SQL Notification Services
UPDATE***I went ahead and did the same for BizTalk 2009 features as they changed slightly from 2006 R2 to 2009 (mostly the removal of Human Workflow Services from 2006 R2 and the addition of Project Build Component).
BizTalk 2009 features
Development, MsEDISchemaExtension, MsEDISDK, MsEDIMigration, SDK, WMI, BizTalk, Migration, BizTalkExplorer, BizTalkExtensions, OrchestrationDesigner, Designer, PipelineDesigner, XMLTools, AdapterImportWizard, VSTools, WCFDevTools, DeploymentWizard, TrackingProfileEditor
BizTalk, WMI, Runtime, Engine, MOT, MSMQ
BizTalk, WMI, AdminAndMonitoring, AdminTools, MonitoringAndTracking, BizTalkAdminSnapIn, HealthActivityClient, BAMTools, PAM
Project Build Component
And finally here is a working script for an install on a server with the "basic" components, but omitting such things as the HwsWebService, Developer Tools, and EDI Adapter/Runtime. This would be included in a .cmd file (I parametarized the script for easier manipulation of the install options.
SET InstallDirectory=d:\Biztalk Server R2SET CABLocation=d:\Biztalk Server R2\redist\BtsRedistW2k3EN64.cabSET InstallOptions=BizTalk,WMI,Runtime,Engine,MOT,HwsBaseAssemblies,MessageQueuing,MSMQ,HwsRuntime,WCFAdapter,InfoWorkerApps,BAMPortal,AdminAndMonitoring,AdminTools,MonitoringAndTracking,BizTalkAdminSnapIn,HealthActivityClient,BAMTools,HwsWMIProvider,PAM,WcfAdapterAdminTools,AdditionalApps,SSOAdmin,SSOServer,RulesEngine,OLAPNS,FBAMCLIENT,BAMEVENTAPISET InstallDir=D:\Program Files\Microsoft BizTalk Server 2006SET CompanyName=MyCompanySET UserName=MyUserSET OutputLog=BTSinstallLog.log
"%InstallDirectory%\setup.exe" /passive /CABPATH "%CABLocation%" /l "%OutputLog%" /InstallDir "%InstallDir%" /CompanyName "%CompanyName%" /UserName "%UserName%" /AddLocal "%InstallOptions%"
I did not previously have the AddLocal commands for the MQSeriesAgent or Windows SharePoint Services Adapter Web Service features listed because my dev machine did not have the pre-requisites installed to support these. However, I was reminded of the Orca tool which allows you to inspect MSI payload by a colleague, and this lists out all of the features, so I've completed the table with these values. Thanks John!