The System Preparation (Sysprep) tool prepares an installation of Windows for duplication, also called imaging, and enables you to capture a customized Windows image that can be reused throughout an organization.
This can be particularly beneficial when provisioning machines for a team of BizTalk developers. Installing and configuring BizTalk Server machines from scratch increases the lead time on a project. The other main advantage is the guarantee that each developer is working off a consistent configuration reducing the chances of "it works on my machine" incidents.
However, Sysprepping a BizTalk Server image is not as straightforward as Sysprepping a base Operating System image; mainly due to BizTalk Servers reliance on SQL Server.
BizTalk Server ships with some sample Sysprep scripts, but as with most samples these just serve as a foundation and require some customizations and additions. The documentation that accompanies the sample scripts is misleading in places and contains some gaps that can cause confusion.
In this article I will cover the steps required to Sysprep a fully configured BizTalk Server virtual machine.
The "golden image" is an isolated virtual machine configured with:
• Windows Server 2008 R2 Standard Edition
• SQL Server 2008 R2 Enterprise Edition
• BizTalk Server 2010 Enterprise Edition
○ Enterprise SSO
○ BizTalk Runtime
○ Business Rules Engine
○ BAM Tools
§ BAM Alerts
○ BAM Portal
• BizTalk Server 2010 ESB Toolkit
○ Exception Management
○ ESB Core Components
• Visual Studio 2010 Premium Edition
Install and configure the software listed above using local accounts and groups.
There are a number of modifications that should be made post-configuration and pre-sysprep that will reduce the changes required during Sysprep as well as the complexity of the scripts.
• Modify the service account on each of the services that are configured to run under a local user, replacing the computer name for "."
• Modify the service account on each of the application pools that are configured to run under a local user, replacing the computer name for "."
• Modify the URI of the All.Exceptions send port in the Microsoft.Practices.ESB application, replacing the computer name with "(local)"
• Modify the server name in the BAM SSIS packages, replacing the computer name with "(local)". To do this follow the steps outlined in this MSDN article http://msdn.microsoft.com/en-us/library/aa548024.aspx
Note: Although EDI has not been configured in our "golden image" it is worth noting that the URI of the BatchControlMessageRecvLoc and ResendReceiveLocation receive locations in the BizTalk EDI Application should be changed to use "(local)" instead of the computer name.
The following changes are required to the scripts before they can be run:
Modify the lines in the file identified with "!" before them:
• ComputerName -...