Buch
- App-V Infrastruktur
- App-V Client
- App-V Sequenzierung
- Tools & Troubelshooting
- PowerShell mit App-V
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
On just such a tool I've been waiting. The Citrix websites are extremely confusing. However, we have a proxy in the company. Please integrate this feature soon! Thank you very much!
me too.Cool tool but the missing proxy feature is a real blocking issue.
The proxy feature is now in 0.9. Like to test?
Unfortunately, I am very busy. But I will soon be working on the proxy feature. Please look again next week.
Hello is it possible to export the found hotfixes to an csv file. We have a team with members from different sites (countires) and we have to discuss which hotfix should be rolled out on our servers/clients. I want to build up an excel file with additonal informations.
Hello Bernd, I plan a report function in html (what does the patch). Our rademap: Version 1.0 will provide a full silent support. Then I'm building a report funktion in html. When this work has been completed we will build a version for Xen App 6.5 and PVS. For other features like Excel CSV or SCCM integration (etc.) you can give a payed Job to my company (Nick Informationstechnik GmbH)
currently I'm very busy with my own cloud project. I think this will be a real surprise for many Citrix Consultants. the project will change everything in the shades! Therefore, it can also take some time with with extensions... but your company can hire us for you demand ;-)
Thank you for taking the time to provide this tool Any ideas why my AV would see this a Trojan on install? Coming up as a MSIL Trojan?
No idea. But thanks for the hint. I use Kaspersky. The Exe file is wrapper. This wrapper was perhaps used for the Trojan? All files are checked and digitally signed. Which antivirus do you use? I'll check the online files again.
The digital signature of the installer and the exe are ok. I have also checked in the registry. Everything is clean. A false alarm. Which antivirus do you use?
Tool looks good as identifying the required patches is not made easy by Citrix not detailing clearly what patch is relevant to which desktop or server role in the XenDesktop installation. Citrix do not supply a clear explanation of the naming convention for patch files and where it needs to be installed. For instance the powershell patch XDPoshModule760WX64002, is it required only on the delivery controller, or Delivery controller and XenApp servers and desktops with VDA installed, or anywhere where studio is installed etc.
Additional features that would be of great help in your tool would be to display which patches have been superseded by newer patches and where the patches need to be installed, e.g. only where VDA installed, where VDA installed and on delivery controllers, Director and Studio servers, etc. Plus covering other product components such as Provisioning Server and StoreFront.
Great work and many thanks
Forgot to say another useful feature would be to have a hyperlink to the citrix article for each listed hotfix. This would allow easy reviewing of details of each hotfix
Thank you for the feedback. There will be an improved version and also has its own version for 6.5 and also a better report function. Unfortunately, I am currently very busy. The tool was created because I did not have any project. And I until very glad that I'm now back into a new Citrix project. Please wait a bit longer.
Hi,
great Tool. Is there a way to configure the downloadlocation.
Regards
Tom
It is planed in a later release. Also planed is a full silent download to your software repository (and maybe a sccm integration). I need some days free time.
Nice Tool. Is it possible to select the language of the pacthes? I need the german hotfixes
Maybe soon! Currently I think, there are only a very few special German patches. Most patches, also for a German installation are delivered as "english" patch.
hi it's great tool but when i run it and search the GUI get not responding and hanged
Please use the forum for technical problem: http://www.software-virtualisierung.de/support-forum.html
nonetheless, you use a proxy?
great tool, i see that as sample no patches or so will be available for Director 7.6.3, i mean this is little bit confused for me, is it normal, that XA7.6 FP2 ( what are only updates) not will be listet in your tool, also not the newest HDX Media Tools Version 1.8 or so?
Thank you! XA7.6 FP2 is not a classic patch. FP2 is a own product. The tool cannot find it. Updates to the FP2 should be appear in the tool (I hope).