Enumerating the AddLocal parameters for a quiet BizTalk installation
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
Feature |
ADDLOCAL Command |
Documentation |
Documentation |
Server Runtime |
BizTalk, WMI, Runtime, Engine, MOT, HwsBaseAssemblies, MessageQueuing, MSMQ, HwsRuntime |
Base EDI Adapter |
(Deprecated in 2006 R2) |
BizTalk EDI/AS2 Runtime |
MsEDIAS2, MsEDIAS2StatusReporting |
Windows Communication Foundation |
WCFAdapter |
Portal Components |
BizTalk, WMI, InfoWorkerApps |
Business Activity Services |
(Deprecated in 2006 R2) |
Business Activity Monitoring |
BAMPortal |
Human Workflow Web Service |
HwsWebService |
Administration Tools |
BizTalk, WMI, AdminAndMonitoring, AdminTools, MonitoringAndTracking, BizTalkAdminSnapIn, HealthActivityClient, BAMTools, HwsWMIProvider, PAM |
Windows Communication Foundation Administration Tools |
WcfAdapterAdminTools |
Developer Tools and SDK |
BizTalk, WMI, SDK, Development, VSTools, BizTalkExtensions, BizTalkExplorer, Designer, OrchestrationDesigner, PipelineDesigner, XMLTools, AdapterImportWizard, HwsDesigner, BasSchemaExtension, DeploymentWizard, TrackingProfileEditor |
Additional Software |
BizTalk, WMI, AdditionalApps |
Enterprise Single Sign-On Administration |
SSOAdmin |
Enterprise Single Sign-On Master Secret Server |
SSOServer |
Business Rules Components |
RulesEngine |
MQSeries Agent |
MQSeriesAgent |
Windows SharePoint Services Adapter |
WssAdapterWS |
BAM Alert Provider For SQL Notification Services |
OLAPNS |
BAM Client |
FBAMCLIENT |
BAM-Eventing |
BAMEVENTAPI |
|
|
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
Feature |
ADDLOCAL Command |
Portal Components |
BizTalk, WMI, InfoWorkerApps |
Business Activity Monitoring |
BAMPortal |
Developer Tools and SDK |
Development, MsEDISchemaExtension, MsEDISDK, MsEDIMigration, SDK, WMI, BizTalk, Migration, BizTalkExplorer, BizTalkExtensions, OrchestrationDesigner, Designer, PipelineDesigner, XMLTools, AdapterImportWizard, VSTools, WCFDevTools, DeploymentWizard, TrackingProfileEditor |
Documentation |
Documentation |
Server Runtime |
BizTalk, WMI, Runtime, Engine, MOT, MSMQ |
BizTalk EDI/AS2 Runtime |
MsEDIAS2, MsEDIAS2StatusReporting |
Windows Communication Foundation |
WCFAdapter |
Administration Tools |
BizTalk, WMI, AdminAndMonitoring, AdminTools, MonitoringAndTracking, BizTalkAdminSnapIn, HealthActivityClient, BAMTools, PAM |
Windows Communication Foundation Administration Tools |
WcfAdapterAdminTools |
Additional Software |
BizTalk, WMI, AdditionalApps |
Enterprise Single Sign-On Administration |
SSOAdmin |
Enterprise Single Sign-On Master Secret Server |
SSOServer |
Business Rules Components |
RulesEngine |
MQSeries Agent |
MQSeriesAgent |
Windows SharePoint Services Adapter |
WssAdapterWS |
BAM Alert Provider For SQL Notification Services |
OLAPNS |
BAM Client |
FBAMCLIENT |
BAM-Eventing |
BAMEVENTAPI |
Project Build Component |
ProjectBuildComponent |
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 R2
SET CABLocation=d:\Biztalk Server R2\redist\BtsRedistW2k3EN64.cab
SET 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,BAMEVENTAPI
SET InstallDir=D:\Program Files\Microsoft BizTalk Server 2006
SET CompanyName=MyCompany
SET UserName=MyUser
SET OutputLog=BTSinstallLog.log
"%InstallDirectory%\setup.exe" /passive /CABPATH "%CABLocation%" /l "%OutputLog%" /InstallDir "%InstallDir%" /CompanyName "%CompanyName%" /UserName "%UserName%" /AddLocal "%InstallOptions%"
***Update***
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!