May 2017 The NITCtxPatchManager is back, after some changes from Citrix on the website. Finally we've made it this far. Version 1.1.2 is available. Now with support for XenApp/XenDesktop 7.7 and 7.6 SP3. You can now detect the superseded hotfixes with the report function.
Broken:( are you searching for a version for XenApp 6.x ? Go to this blog post >here<)
Searching for patches on the Citrix website is a lot of work. 10 sites with 10 patches on each site for XenDesktop 7.6 alone. Therefore I have decided to build a patching tool and patchmanager for Citrix XenApp and XenDesktop 7.x. We created this application to download all hotfixes and LIMITED hotfixes.
This is the first release with all features. This tool can save a lot of work. Maybe even a few days in the year for an administrator, making it a real timesaver. Eric from Xenappblog.com has written a nice contribution about this: Automate Citrix Hotfix Installation Together With Feature PacksAutomate Citrix Hotfix Installation Together With Feature Packs
Direct downlaod latest Version 1.3.0
Please also note our other tool for Citrix :AppBot, a Citrix Application Streaming (CAS or XenApp Streaming) to App-V 5 and MSI Converter:Appbot
Requirements
Features
Quickly select and download patches for XenApp and XenDesktop 7.1 and higher
Quickly select and download LIMITED patches for XenApp/Desktop 7.1 and higher with one click
The installation sources and this documentation can be downloaded from this web page.
First you can check the signature of the Installer. NITCtxPatcher is a signed MSI, as is the .exe file in the installer. To check the signature click with the right mouse button on the MSI and select properties.
Installation
1.) Start the Installer NITCtxPatcher1.0.0.msi with a double-click
2.) Click Install
The following command launches a silent installation for the NITCtxPatcher:
Msiexec.exe /I NITCtxPatcher1.0.0.msi /qb
The installer is for a 32 bit application and the default path is “C:\Program Files (x86)\NITCtxPatcher”
You can change the installation location with the MSI variable “APPLICATIONROOTDIRECTORY “ to a location of your choice:
Msiexec.exe /I NITCtxPatcher1.0.0.msi APPLICATIONROOTDIRECTORY= /qb
For example:
Msiexec.exe /I NITCtxPatcher1.0.0.msi APPLICATIONROOTDIRECTORY=”C:\MyApplicationfolder” /qb
Searching for and downloading patches
1.) Start the application via the desktop or start menu shortcut
2.) Select your filter options
3.) Click the “Search” button
You can select any combination for both the filter and download.
Downloading the patches
The download launches after pressing the "Start download" button.
After the download ends open a window with the clipboard path. This is by default
“%TEMP %\NitCtxPatches \<XA/XDVersion>”
The path can be changed in the configuration settings.
In the log file “NITCtxPatch.log” is information concerning whether everything has functioned correctly.
A new feature since version 0.94 is the possibility to produce reports. An abstract is created for all clicked patches. You can see which functions are patched and what was replaced. An example Report : http://www.software-virtualisierung.de/whitepapers/finish/4-dokumente/67-citrix-patch-report-example/0.html
The Button “Full report” creates a report for all patches (selected and unselected).
The NITCtxPatcher creates a new tooltip for every entry in the report view.
Proxy and account configuration
The account settings administer the proxy and the MyCitrix account. We had big problems with different proxy to servers. Tord Bergset from Norway helped us greatly. I hope now the problems are solved with all proxy servers
1) Set a MyCitrix account for access to the limited patches. Every password is stored encrypted in the config file.
2) Settings for your proxy server
3) Use the system-wide default authentication. The proxy can also authenticate via Active Directory.
4) Proxy username and password
Download settings
Here some general settings for the Script generator and automatic downloads.
Every Zip archive is automatically unpacked and individually integrated into the silent script. Here is an example using Hotfix 2 for the Citrix DDC:
@echo off @echo ############################################################## @echo # Silent Patch CMD # @echo # Generated with NITCtxPatcher # @echo # A.Nick http://www.software-virtualisierung.de # @echo ############################################################## @echo. @echo 1. Do not start this script in an ICA or RDP session @echo 2. you need to carefully test this script @echo Most Citrix patches require a reboot! @echo 3. Use this script at your own risk @echo. @echo Silent Script for XenDesktop_7.6 @echo. set hotfixpath=%~dp0 change user /install @echo ------------------------------------------------------------- @echo Install Hotfix http://support.citrix.com/article/CTX142439 @echo ------------------------------------------------------------- echo start /wait msiexec.exe /i "%hotfixpath%XA_XD_760_Controller_X64_HFs_2\BrokerSrvc760WX64002.msi" /qb /passive /norestart start /wait msiexec.exe /i "%hotfixpath%XA_XD_760_Controller_X64_HFs_2\BrokerSrvc760WX64002.msi" /qb /passive /norestart if NOT %ERRORLEVEL%==0 @echo Errorlevel: %ERRORLEVEL% echo start /wait msiexec.exe /i "%hotfixpath%XA_XD_760_Controller_X64_HFs_2\ConfigMgrWOL760WX64002.msi" /qb /passive /norestart start /wait msiexec.exe /i "%hotfixpath%XA_XD_760_Controller_X64_HFs_2\ConfigMgrWOL760WX64002.msi" /qb /passive /norestart if NOT %ERRORLEVEL%==0 @echo Errorlevel: %ERRORLEVEL% echo start /wait msiexec.exe /i "%hotfixpath%XA_XD_760_Controller_X64_HFs_2\HostSrvc760WX64002.msi" /qb /passive /norestart start /wait msiexec.exe /i "%hotfixpath%XA_XD_760_Controller_X64_HFs_2\HostSrvc760WX64002.msi" /qb /passive /norestart if NOT %ERRORLEVEL%==0 @echo Errorlevel: %ERRORLEVEL% echo start /wait msiexec.exe /i "%hotfixpath%XA_XD_760_Controller_X64_HFs_2\MCSrvc760WX64002.msi" /qb /passive /norestart start /wait msiexec.exe /i "%hotfixpath%XA_XD_760_Controller_X64_HFs_2\MCSrvc760WX64002.msi" /qb /passive /norestart if NOT %ERRORLEVEL%==0 @echo Errorlevel: %ERRORLEVEL% echo start /wait msiexec.exe /i "%hotfixpath%XA_XD_760_Controller_X64_HFs_2\MonitorPSSI760WX64002.msi" /qb /passive /norestart start /wait msiexec.exe /i "%hotfixpath%XA_XD_760_Controller_X64_HFs_2\MonitorPSSI760WX64002.msi" /qb /passive /norestart if NOT %ERRORLEVEL%==0 @echo Errorlevel: %ERRORLEVEL%
Here are other general settings.
Run own scripts
Trond from Xenappblog has written an article about our tool. There appears a question about how to integrate the whole in the Automation Framework.
http://xenappblog.com/2015/automate-citrix-hotfix-installation/
From the comments in the blog:
“Wouldn’t it be great if the NITCTXPatcher tool would provide a method to automatically download all the hotfixes these folders used by the Automation"?
Framework:
My solution is to allow your own scripts. And I have written an example script. This script is installed with the tool. Please send me your script ideas as well as your own Installation scripts if you like. I will integrate them and credit you by name in the appendix!
All scripts are stored in the application folder C:\Program Files (x86)\NITCtxPatcher\scripts. Execution of Powershell scripts scripts must be permitted on the system.
Set-executionpolicy –executionpolicy remotesigned
There you can place your own scripts. These are only examples. Currently untested!
<# .SYNOPSIS Copy content from the patch download to a XenAppBlog Framework folder after patch download #> $Basefolder = "$ENV:TEMP\CtxPatches\XenDesktop_7.6" #$CopyTo = "\\YOURSERVER\Patches" $CopyTo = "C:\temp\patches" function xBlogCopy { <# .SYNOPSIS Create destination folder and copy all patches .PARAMETER $source Path to a folder .PARAMETER $destination Path to a folder .EXAMPLE Get-Something -ParameterA 'One value' -ParameterB 32 #> param ( [String] $source, [String] $destination ) if (Test-Path "$source") { if (Test-Path "$destination") { Remove-Item "$destination" -Force } New-Item "$destination" -Type directory -Force copy "$source\*" "$destination\" } } xBlogCopy -source "$Basefolder\VDAWS32Bit" -destination "$CopyTo\VDA\Desktop\32" xBlogCopy -source "$Basefolder\VDAWS64Bit" -destination "$CopyTo\VDA\Desktop\64" #..... xBlogCopy -source "$Basefolder\VDATS64Bit" -destination "$CopyTo\VDA\Server\64"
Configuration file
The configuration for a „download action“ is stored in a single .xml file. Password settings are encrypted with a secure key in the application. You can save your own config file to another location for „special“ jobs. For example, when downloading silent VDA Workstation/Desktop patches.
The default configuration file and the most recent settings are stored here:
%APPDATA%\NITCTXPatcher\ NITCtxPatcherConfig.xml
The patcher saves automatically every time you start a download.
False
True
False
....
76492d1116743f0423413b16050a5345MgB8AE8AQgBqAC8AdABwAHMAZgBIAEEAYgBDAFAAYgBRAGcA.....NgBmADEAMgBhAGUAMgA5AGYANwAzAGIAYwA1AGEAMgA1ADQAZQA2ADkAYgAxADYAZgBiADk...gBkAGQAMwA=
Commandline
Version 1.0 has command line support. This means the tool can be executed silently with a configuration file.
Command line syntax :: NITCTXPatcher.exe -config
Full Silent mode :: -silent
Hidden gui :: -nogui
Creating an automatic silent installation
NITCtxPatcher can create a silent script for a patch installation. You can schedule the script for your servers. We will soon publish a service as that should allow this to function similarly to Windows Update! Silent installation for XenDesktop 7.6 VDA Workstation with all limited patches 64 Bit
@echo off @echo ############################################################## @echo # Silent Patch CMD # @echo # Generated with NITCtxPatcher # @echo # A.Nick http://www.software-virtualisierung.de # @echo ############################################################## @echo. @echo 1. Do not start this script in an ICA or RDP session @echo 2. you need to carefully test this script @echo Most Citrix patches require a reboot! @echo 3. Use this script at your own risk @echo. @echo MSI RETRUNCODE 3010 - MSI_MSP_SUCCESS_REBOOT_REQUIRED @echo MSI RETURNCODE 1612 - MSI_MSP_INSTALL_SOURCE_ABSENT SET BASEKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall Reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall > NUL if %errorlevel%==0 SET BASEKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall @echo. @echo. @echo Silent Script for XenDesktop_7.6 @echo. pushd %~dp0 reg query "%BASEKEY%\ICATS760WX64043" 2>NUL >NUL if %errorlevel%==0 echo ICATS760WX64043.msp is already installed. View: "%BASEKEY%\ICATS760WX64043" if %errorlevel%==1 ( @echo Install MSP Hotfix ICATS760WX64043.msp - http://support.citrix.com/article/CTX202356 echo start /wait msiexec.exe /update "%hotfixpath%ICATS760WX64043.msp" /qb /passive /norestart start /wait msiexec.exe /update "%hotfixpath%ICATS760WX64043.msp" /qb /passive /norestart ) if NOT %ERRORLEVEL%==0 @echo Errorlevel: %ERRORLEVEL% reg query "%BASEKEY%\ICATS760WX64047" 2>NUL >NUL if %errorlevel%==0 echo ICATS760WX64047.msp is already installed. View: "%BASEKEY%\ICATS760WX64047" if %errorlevel%==1 ( @echo Install MSP Hotfix ICATS760WX64047.msp - http://support.citrix.com/article/CTX203345 echo start /wait msiexec.exe /update "%hotfixpath%ICATS760WX64047.msp" /qb /passive /norestart start /wait msiexec.exe /update "%hotfixpath%ICATS760WX64047.msp" /qb /passive /norestart ) if NOT %ERRORLEVEL%==0 @echo Errorlevel: %ERRORLEVEL% reg query "%BASEKEY%\ICATS760WX64048" 2>NUL >NUL if %errorlevel%==0 echo ICATS760WX64048.msp is already installed. View: "%BASEKEY%\ICATS760WX64048" if %errorlevel%==1 ( @echo Install MSP Hotfix ICATS760WX64048.msp - http://support.citrix.com/article/CTX203402 echo start /wait msiexec.exe /update "%hotfixpath%ICATS760WX64048.msp" /qb /passive /norestart start /wait msiexec.exe /update "%hotfixpath%ICATS760WX64048.msp" /qb /passive /norestart ) if NOT %ERRORLEVEL%==0 @echo Errorlevel: %ERRORLEVEL% popd
CPatch is a tool integrated into XenApp 6.x. and not in XenDesktop 7.x. The tool can detect installed hotfixes: http://support.citrix.com/article/CTX105646
A user has asked for CPatch support in the script generator because Citrix seems to install the hotfix even if it is already installed. I helped with a new switch and a reg query command in the script generator.
The "CPatch replacement" checkbox does the same as the command cpatch /s /l | find /i "HotfixName = ICATS760WX64048" with a reg query "%BASEKEY%\ICATS760WX64048" command.
With this option, installed Hotfixes are detected and not installed.
With this option, installed Hotfixes are detected and not installed.
C:\Users\Administrator>\\192.168.20.2\patches\VDATS64Bit\silent.cmd ############################################################## # Silent Patch CMD # # Generated with NITCtxPatcher # # A.Nick http://www.software-virtualisierung.de # ############################################################## 1. Do not start this script in an ICA or RDP session 2. you need to carefully test this script Most Citrix patches require a reboot! 3. Use this script at your own risk MSI RETRUNCODE 3010 - MSI_MSP_SUCCESS_REBOOT_REQUIRED MSI RETURNCODE 1612 - MSI_MSP_INSTALL_SOURCE_ABSENT Silent Script for XenDesktop_7.6 ICATS760WX64006.msp is already installed. View: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Nod WX64006" ICATS760WX64012.msp is already installed. View: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Nod WX64012" ICATS760WX64016.msp is already installed. View: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Nod WX64016" ICATS760WX64032.msp is already installed. View: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Nod WX64032" ICATS760WX64034.msp is already installed. View: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Nod WX64034" ICATS760WX64035.msp is already installed. View: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Nod WX64035" ICATS760WX64040.msp is already installed. View: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Nod WX64040" ICATS760WX64043.msp is already installed. View: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Nod WX64043" ICATS760WX64047.msp is already installed. View: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Nod WX64047" Install MSP Hotfix ICATS760WX64048.msp - http://support.citrix.com/article/CTX203402 start /wait msiexec.exe /update "ICATS760WX64048.msp" /qb /passive /norestart Errorlevel: 3010
Version History |
Changes |
2015/05/03 0.8.0 |
|
2015/05/09 0.8.1 |
|
2015/05/09 0.8.2 |
|
2015/05/17 0.9 |
|
2015/05/19 0.9.1 |
|
2015/05/25 0.9.2 |
|
2015/07/13 0.9.3 |
|
2015/07/13 0.9.4 |
|
2015/07/28 0.9.5 |
|
2015/08/03 0.9.6 |
|
2015/08/28 1.0.0 |
|
2015/09/04 1.0.1 |
|
2015/09/14 1.0.2 |
|
2015/09/17 1.0.3 |
|
2015/09/25 1.0.4 |
|
2015/10/05 1.0.5 |
|
2015/11/26 1.0.6 |
|
2016/02/11 1.1.0 |
|
2016/5/20 1.2.0 |
|
2017/5/23 1.3.0 |
Afer a year - a new version with many fixes. I have now time again after writing my german App-V Book :-) The tool is fully functional again!
|
Please uses the >support forum< for questions, problems and suggestions
NITCtxPatcher Version 1.3.0
Documentation (PDF)
NITCtxPatcher documentation
Kommentare 39
ok, thanks for fast Response. another question. is it possible to add the PVS as Product Categorie? I mean many peoples use PVS on a bigger env. Maybe it is not so a great Impact do implement it
greetz
frank
I write own tools for PVS and XenApp 6.5, XenDesktop 5.5. Based on this tool. When all the work on this tool has been completed. That costs the least work. If I had a lot of more time, I can build something, that everything can download (also products such as FP2). Based on the same software libraries.
ok, super, danke! freu mich schon wenn es soweit ist!
thanks!
Awesome!
But the Tool won't find / download ICATS760WX64012 ?
Hi Florian, we are working on a soluton. Please read on top of this blog from yesterday. Citrix changed many keywords, the tool searching for. We are working on a complead new strong "search" enging. Which costs a few days ...
The problem with ICATS760WX64012 and other Patches is solved. Please try the new report function!
Hi Andreas.
Great tool!
I wonder if the Proxy funtion has been fixed in 0.9.6 a sI still cannot get it to work.
/Tord Bergset
Hi Tord,
for the reporting I have built a completely new function for the download (get Detail Info). It may be that something has gone wrong. Thanks for the feedback. If you likem send me a email für the 1.0 Beta. I think, the Proxy Funktion is fixed in this Version. A test would help me a lot.
Hi,
First great tool! Only problem it didn't find XA/XD 7.6 FP3 hotfixes
Hi Steven, a switch für SP3 is possible and and also for XenDesktop 7.7. I try to build a new version in the next weeks.
Hi Andreas,
That would be great, thanks!
XD 7.9 is available. Did you plan to upgrade this tool?
Yes, but I cannot see any Hotfix for 7.9 today
Here is the Line:
http://support.citrix.com/search?searchQuery=%3F&lang=en&sort=cr_date_desc&ct=Hotfixes&prod=XenDesktop&pver=XenDesktop 7.9
Hey Andreas, thanks for the hard work on this.
Do you intend to update the tool to support 7.13?
Hello Peter, currently there are no patches for 7.13,7.12 and only one patch for 7.11. If this change, I build a function for it.
Hi, I used your tool last year successfully, then my project got shelved. I have now downloaded the latest version and it doesn't seem to detect any of the updates available.
I am running xenapp 7.6 and have an active mycitrix subscription.
When the tool runs goes through Load x:18 but then returns no entries on the right hand side of the page.
Any pointers ? many thanks John.
Thanks for the information. It seems Citrix has changed a lot again. I will rework the software in the near future and also some cool new functions incorporate. Unfortunately, I just have a lot to do.
any plans to update to support 7.15?
any plans to update to support 7.l5 any time soon ?