By Andreas Nick on Montag, 04. Mai 2015
Category: XenApp

NITCtxPatcher a patchmanager for Citrix XenApp and XenDesktop 7.x

NITCtxPatcher a patchmanager for Citrix XenApp and XenDesktop 7.x

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

Quick guid 

Download and signature

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

Silent installation

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.

Create a Report

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.

  1. “Autoselect Limited” – Automatically selects all LIMITED Patches for a download, in addition to selected patches. Please be careful using this option and read exactly what the patches do.
  2. “Overwrite existing Patches” – Overwrites the files in the patch repository every time.
  3. “Delete superseded from repository” - If the tool finds an old, invalid patch in the repository, it will delete the old patch.
  4. “Download only” - This tool can create a silent installation script after the download. This is activated here.
  5. “Switch norestart” - The installation script sets a no restart entry for every file. Many patches request a restart after the installation and need a restart in order to function. This option allows a restart to be delayed until after all patches have been installed.

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%
 

 Common settings

 Here are other general settings.

  1. Temp repository can change the default location for the patch repository. This setting is also stored in the configuration file.
  2. “Copy result” Creates a copy of the “selected” patches to a specified location. All patches remain in the repository.
  3. “Delete repository after copy” – Deletes the temp repository with all your patches after copying them to the specified location. Might be desired to cleanup after every download. Be careful not to make a mistake and delete the C:\ drive, for example!
  4. Run Powershell – Runs a Powershell after the download

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

  1. Create your own config file. Check all the checkboxes you need. For example VDAWS, 64 bit, Silent Script.
  2. Save the .xml config file using “Save as” to your desired location.
  3. Create a batch or Powershell with NITCTXPatcher.exe –config -silent
  4. Schedule your script.

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 replacement in version 1.1

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        
  • First version
2015/05/09 0.8.1
  • Supports download of director patches. Director patches do not have an x86 or x64 in the patch name. Therefore, we need a lot of extra code here.
  • Deletes existing logs and silent scripts 
  • “noreboot" option now works properly
2015/05/09 0.8.2
  • Wrong MSI switch. /noreboot is now /norestart. I can patch XenApp 7.5 with all Hotfixes and LIMITED Hofixes (silent)
2015/05/17 0.9
  • This version allows proxy settings. In the event of problems, Pplease start with problems run "as administrator". I know notdo not know every proxy server. If this does not solve the problem, please write about the error in our Support Forum.

  • Some bugs fixed
2015/05/19 0.9.1
  • Small bugs fixed in the dialogues and in the proxy feature.

2015/05/25 0.9.2
  • Some GUI changes. The design is now more logical. Thanks for the tip Matthias!

2015/07/13 0.9.3
  • Bugfix for MISA download checkbox

  • New checkbox for XA_XD Powershell Module "Posh"
  • Now able to automatically copy downloaded patches to zheir location. The source in the temp folder is not deleted
2015/07/13 0.9.4
  • Open Citrix Supportside http://support.citrix.com/arcticle/ctx... upon  doubleclicking
2015/07/28 0.9.5
  • Find any patch again. Citrix changed a lot of keywords
  • Reports for the patches
  • Detailed tooltip after creating a report
  • Unpack ZIP archives from citrix
  • Generates silent install script for msi files too
2015/08/03 0.9.6
  • Download works again. Citrix changed a lot of keywords
2015/08/28 1.0.0
  • Full silent support over the commandline
  • Extended proxy support: Many thanks to Tord Bergset for the help and for testing
  • New switches for content handling
  • Script support after downlaod
  • Many bugs fixes and smal improvements
  • New documentation
  • New Install with requirement detection
2015/09/04 1.0.1
  • Bugfix for XenApp downloads. Thank you Frank!
2015/09/14 1.0.2
  • Bugfix for proxy settings. Thanks to Thomas from Ctx4Tom!
  • Counts patches in the title
2015/09/17 1.0.3
  • Unfortunately, Citrix has changed a lot once more in the layout of the patch website. Some corrections and about 200 lines of new code was necessary. Here is version 1.0.3
  • Buxfix in the script generator
2015/09/25 1.0.4
  • Finds Hotfix Update 2 x64 for XA 7.6 again. Many thanks to Siegfried for the info
2015/10/05 1.0.5
  • Bugfix in the script generator. Thank you Danny
  • Bugfix in the Copy_after_download function
  • New switch Disable_version_check - disable this website
2015/11/26 1.0.6
  • Changes after Citrix web update. The tool is working again
  • New switches to ignore SUPERSEDED and LIMITED patches. Thank you for the sugestion @shanekleinert
2016/02/11 1.1.0
  • Bugfix in the installer. Icons now removed on uninstall
  • CPatch replacement for XenDesktop 7.6 MSP Patches. Installed patches are detected now if cpatch is checked. Thanks to Mike O'Shaughnessy for the suggestion
  • Bugfix in the script generator
  • Removed change user statements in the generated scripts
  • Integrated pushd and popd to support network installations. Thanks to Joe Shonk for the suggestion
  • Changes after Citrix web update. The tool is fully functional again

2016/5/20

1.2.0

  • Supports XenDesktop 7.6 FP3 (new patchfile names)
  • Support XenDesktop 7.7
  • Detects superseded hotfixes again with a "report"
  • Bugfix in the pagecounter - wrong integer rounding

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!

  • Support XenApp/XenDesktop 7.7-7.14
  • New Logon Engine
  • Citrix protect every download now a mandatorey mycitrix account
  • Some changes in Regex
  • Bugfix in the pagecounter

Please uses the >support forum< for questions, problems and suggestions

Downloads:

msiNITCtxPatcher Beliebt

NITCtxPatcher Version 1.3.0

Information
Erstelldatum 18.05.2015 00:05:46
Änderungsdatum 20.10.2020 14:58:46
Version 1.3.0
Dateigröße 2.32 MB
Erstellt von Andreas Nick
Geändert von Andreas Nick
Downloads 8.436
Lizenz Nick Informationstechnik Tool LicenceTooltip
Preis

Documentation (PDF)

pdfNITCtxPatcher documentation Beliebt

NITCtxPatcher documentation

Information
Erstelldatum 28.08.2015 18:32:06
Änderungsdatum 28.08.2015 18:32:06
Version 1.0
Dateigröße 1.12 MB
Erstellt von Andreas Nick
Geändert von
Downloads 5.379
Lizenz Nick Informationstechnik Tool LicenceTooltip
Preis

Leave Comments