The System Preparation (Sysprep) tool prepares an installation of Windows for duplication, also called imaging, and enables you to capture a customized Windows image, or "golden 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.
This article will cover the steps required to Sysprep a fully configured BizTalk Server 2010 virtual machine. The same steps can be followed for BizTalk Server 2013.
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.
These are:
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.
** Important: Before continuing any further ensure the master secret has been backed up **
The following changes are required to the scripts before they can be run:
Modify the lines in the file identified with "!" before them:
Note: This article does not cover joining a domain, as a result the "Microsoft-Windows-UnattendedJoin" component has been commented out as has the "Domain" element of AutoLogon.
Replace all instances of $(OLDCOMPUTERENAME) with the current computer name.
Replace $(MASTERSECRETBACKUPPATH) with the path to location of the master secret backup file.
Replace all instances of:
Note: This script will only need to be modified for BizTalk Server 2010 and BizTalk Server 2013 configurations that use SQL Server 2008 R2. BAM Alerts does not require Notification Services in SQL Server 2012 and doesn't need to be re-registered as a result5.
Note: As this is an isolated development VM the BizTalk Server and SQL Server components have been configured with single accounts. If separate accounts have been used the UpdateSqlSecurity script will need to reflect this.
Replace all instances of $(OLDCOMPUTERENAME) with the current computer name
Having prepared all the scripts the Sysprep process can now be executed.
C:\windows\system32\sysprep\sysprep.exe /oobe /generalize /shutdown /unattend:c:\scripts\unattend_Win2K8x64.xml
Once the Sysprep process is complete and the master image is placed in a safe location a clone of the VM is created.
This will also be the case for the ESB Configuration tool. Both configuration tools can be ignored and should no longer be required as the VM has been configured. Should any configuration changes be required in the future the wizards can still be used, or in the event of any issues a variation of the scripts used to Sysprep the VM could be used.
This will also be the case for the ESB Configuration tool.
Both configuration tools can be ignored and should no longer be required as the VM has been configured. Should any configuration changes be required in the future the wizards can still be used, or in the event of any issues a variation of the scripts used to Sysprep the VM could be used.
The following issues are the most likely to occur during the process and are worth highlighting.
The root cause of this error was an invalid product key for Windows Server 2008 R2 NOTE: another cause of this error was an old user who no longer existed ... - solution was to deleted any details from ... HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList
The root cause of this error was an invalid product key for Windows Server 2008 R2
NOTE: another cause of this error was an old user who no longer existed ...
- solution was to deleted any details from ... HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList
This issue will occur on configurations where BizTalk Server is installed on a drive other than C, for example E. During Sysprep the drive letter changes from E to D causing all scripts to fail due to the path to BizTalk Server on the E drive no longer being valid.
The following steps are required to resolve this:
C:\windows\system32\sysprep\sysprep.exe /oobe /generalize /quit /unattend:c:\scripts\unattend_Win2K8x64.xml
All the scripts used in this article can be download here:
We would like to thank the following persons who reviewed this article:
Read suggested related topics:
Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki