This post will explain how to automate the deployment of XenClient Enterprise Engine 5.5.5 using SCCM 2012 R2. There is very little information on how to achieve this, so hopefully this will help those looking for a solution. Thanks goes to a post made by Greg Roll early last year on the Citrix discussion forums which pointed me in the right direction. There were a few bits missing and lacking detail, which I will cover.
Preparing the files
Download the XenClient Windows Installer (xce-engine-setup-5.0.exe under additional software) and run it on a disposable Virtual Machine. When prompted, select the latest Engine ISO and continue
Select Resize Windows
Leave these options unticked
Next to start the installation and select no when prompted to reboot
There will be installation files dropped on the C drive – move these to your SCCM file share or the location you use for SCCM applications/packages
You will then need to move a few files around.
- Create a new folder called Engine and move the nxtop folder into it. Then move the nxtldr and nxtldr.mbr files from winboot to the root of the Engine folder. Rename them to grldr and grldr.mbr
- Download Grubinst and move grubinst.exe into the Engine folder
- Download psshutdown.exe and move psshutdown.exe into the Engine folder
You should end up with this:
You can achieve a fair amount of automation using the Client.ini file found in the boot folder. The following focuses on performing an auto installation into the XenClient Engine, ready for registration. The two variables you will want to pay specific attention to are assettag and name. In the example below I have used @baseboard-asset-tag@ which will pull the asset tag from the BIOS (tested with Dell laptops). Be aware that you cannot change the name of the owned computer once deployed and would need to redeploy the Engine to rename.
# Minimum parameters to perform an auto install are:
Action = wipeinstall
Other available DMI keywords:
@bios-vendor@ @bios-version@ @bios-release-date@ @system-manufacturer@ @system-product-name@ @system-version@ @system-serial-number@ @baseboard-manufacturer@ @baseboard-product-name@ @baseboard-version@ @baseboard-serial-number@ @baseboard-asset-tag@ @chassis-manufacturer@ @chassis-version@ @chassis-serial-number@ @chassis-asset-tag@ @processor-manufacturer@ @processor-version@
More information on editing the Client.ini file can be found here.
Create the Package in SCCM
Next step is to package the folder structure created above, ready to use within the Task Sequence.
Create a new package in SCCM
Next through the remaining screens and distribute the package as necessary.
SCCM Task Sequence
1. Format the disk
cmd /c "(echo select disk 0& echo clean) | diskpart"
2. Create a small 4GB FAT32 partition to copy the XenClient Engine files to
3. Deploy the package, this essentially just copies all of the files from the package to the root of 4GB FAT32 partition
xcopy.exe ".\*.*" "c:\" /D /E /C /I /Q /H /R /Y /S
4. Run GrubInst.exe against HD0
The standard restart option was throwing up an error, so psshutdown can be used as a workaround.
The machine should now boot into the XenClient Enterprise Engine installation and perform an auto installation. Once finished you will then be able to register the Engine with a user.