Catalog Release History

We help you save time, money and improve your IT security

The wrapper script for Notepad++ is no longer supported. You can now perform custom actions directly using our publishing service, and we no longer need to directly modify the Notepad++ installer with a wrapper script to perform these actions. Please see https://patchmypc.com/application-patch-management#custom-update-options

______________________________________________________________________________________________________
We are releasing a wrapper script to perform the installation of Notepad++. This starts with the update “Notepad++ 7.3.3” and any future Notepad++ update. This is to address and issue where if the Notepad++ installer runs while the notepad++.exe process is also running, the update will fail and in some cases may uninstall Notepad++ and fail to install the update.

In order to work workaround to this problem, we created a self-extracting .EXE installer (SFX installer) that will use a wrapper script (VBScript) that can optionally perform various checks prior to calling the Notepad++ installer.

Command Line Argument Supported In Version 1:

  • /checkforconflictsthis command line argument  will tell the wrapper script to check if notepad++.exe is running. The script will recheck every minute for up to the max runtime you specify or until conflicting processes are closed. You need specify the max runtime in minutes by adding an integer number in the command line argument after the /checkforconflicts. In order for the process check to work, both the /checkforconflicts and an integer number must be defined in the command line argument. For example, you could use /checkforconflicts 120 to specify a conflicting process check for up to 120 minutes. If the time limit is reached and notepad++.exe isn’t closed, the script will exit with exit code 1618 / 0x87D00664 (Updates handler job was cancelled) in Configuration Manager and the Notepad++ update will not be installed. The update installation should retry based on the “Software Update deployment re-evaluation” schedule.
  • /kill – this command line argument will kill notepad++.exe prior to installing the Notepad++ update. This should only be used when proper communication has been sent to end users. This could cause loss of data if users are actively working with notepad++.exe. When using this command line argument, there is no need to use the /checkforconflicts command line argument.

How To Use The Notepad++ Wrapper Script:

By default, we will define the following command line withing the Notepad++ update in SCUP:  /checkforconflicts 2. This will tell the wrapper to only install the Notepad++ update if notepad++.exe is not running.

If you would like to use the /kill option, you will need to edit the command line in the SCUP 2011 console prior to publishing the update to WSUS.

When using the /checkforconflicts command line argument, you may need to increase the maximum run time for the update in Configuration Manager. By default, the maximum runtime will be set to 5 or 10 minutes in Configuration Manager.

You can increase the maximum update runtime in the Configuration Manager console in the properties of the update as shown below:

Runtime

Note: The maximum runtime in Configuration Manager should always be at least 5 minutes longer than the value you specify in the command line argument.

If the maximum runtime in Configuration Manager is shorter than the value you specify in the command line argument, the Configuration Manager client stops monitoring the update install. The Configuration Manager client will not close the wrapper script when the maximum runtime is complete.

The script will still be running and  will be monitored by the Windows update agent. This will cause any updates after the Java update to fail until script exits and the Windows update agent is free to perform another installation. This is why it is important to ensure the maximum runtime in Configuration Manager is longer than the value you specify in the command line argument.

If you notice Notepad++ updates are failing with code 0x87D00664, it means the maximum time was reached.

If there are other updates that try to install after Java reached the maximum runtime, you will likely see error 0x87D00705 (Pause state required).

If the update fails with error code 0x87D00668 (Software update still detected as actionable after apply), it’s likely due to the script reaching the max minutes you defied and exiting before the installer was called.

Logging:

The script will create a log here: %WinDir%\Temp\PatchMyPC_npp.(Version).Installer.exe_Install This log will be in a format used by CMTrace.exe, and the log will contain the logging for the wrapper script. Below is a sample log.