|
Presentation Server 4.5 Hotfixes Installation Script - Updated 6/11/07 |
|
|
|
Written by Joe Shonk
|
|
Wednesday, 23 May 2007 |
|
Here is a quick and simple script for installing Rollups and Hotfixes on a Presentation Server 4.5.
Simply configure the AppHotfixesPath to match the location were the hotfix files can be found and continue the pattern of set hotfixes=%hotfixes% <New Hotfixes> when adding newer hotfixes. I thought about parsing the AppHotfixesPath directory for the list but there something to be said about controlling the list via a script. You may want to dump newer hotfixes in the directory for testing but not have them apply to a production deployment until the hotfixes have be been signed off. Another obstacle is the naming convention Citrix uses for rollups and hotfixes. Post-rollup hotfixes will be listed alphabetically before the rollup and the rollup needs to installed first. Sure, you can rename the rollup but it’ll be an extra process that’ll need to be documented, communicated and maintained. One more note, after getting burned several times in the past by Citrix's flaky patching process, I have made it a best practice to shutdown the Citrix related services. Install-PS45-Hotfixes.cmd: TITLE Install Presentation Server 4.5 Hotfixes :: Written by Joe Shonk :: Update 6/11/07 :: @echo off setlocal set AppHotfixesPath=\\servername\share\PS45\Hotfixes
set hotfixes=PSE450W2K3003.msp set hotfixes=%hotfixes% PSE450W2K3005.msp set hotfixes=%hotfixes% PSE450W2K3015.msp set hotfixes=%hotfixes% PSE450W2K3020.msp
set services=cdmService set services=%services% ctxcpuSched set services=%services% cdfSvc set services=%services% "Citrix Encryption Service" set services=%services% MFCom set services=%services% ResourceManagerMail set services=%services% IMAAdvanceSrv set services=%services% RadeSvc set services=%services% CTXLMC set services=%services% Citrix_GTLicensingProv set services=%services% CitrixLicensing set services=%services% "Citrix Virtual Memeory Optimization" set services=%services% CitrixWMIService set services=%services% "Citrix SMA Service" set services=%services% CtxHttp set services=%services% CitrixXTEServer set services=%services% cpsvc set services=%services% imaservice set services=%services% "ADF Installer"
pushd %AppHotfixesPath% @echo on
for %%i in (%services%) do sc query %%i | findstr "RUNNING" >NUL: && net stop %%i /y for %%i in (%hotfixes%) do start /wait msiexec.exe /update %%i /passive /norestart
popd endlocal
|