Table of Contents

Notepad2 4.2.25

Adaptation of the opsi-template scripts for Notepad2.
Notepad2 is a fast and light-weight Notepad-like text editor with syntax highlighting.

Website of the author, with x86 and x64 installation files: http://www.flos-freeware.ch/notepad2.html

During the installation a notepad2.ini is copied to the installation directory of notepad2, which redirects notepad2 to use the ini file in the Application Data folder of the user. This way each user can mess with his own settings.

%scriptpath%\files\programfiles\notepad2.ini

[Notepad2]
Notepad2.ini=%APPDATA%\Notepad2.ini

%scriptpath%\files\appdata\notepad2.ini

[Notepad2]
[Settings]
SaveSettings=0
SaveRecentFiles=0
SaveFindReplace=0
CloseFind=0
CloseReplace=0
NoFindWrap=0
OpenWithDir=%USERPROFILE%\Desktop
Favorites=%CSIDL:MYDOCUMENTS%
PathNameFormat=2
WordWrap=0
WordWrapMode=0
WordWrapIndent=0
WordWrapSymbols=22
ShowWordWrapSymbols=0
MatchBraces=1
AutoCloseTags=0
HighlightCurrentLine=0
AutoIndent=1
ShowIndentGuides=0
TabsAsSpaces=0
TabIndents=1
BackspaceUnindents=0
TabWidth=8
IndentWidth=0
MarkLongLines=0
LongLinesLimit=72
LongLineMode=1
ShowSelectionMargin=0
ShowLineNumbers=1
ViewWhiteSpace=0
ViewEOLs=0
DefaultEncoding=0
SkipUnicodeDetection=0
LoadASCIIasUTF8=0
NoEncodingTags=0
DefaultEOLMode=0
FixLineEndings=1
FixTrailingBlanks=0
PrintHeader=1
PrintFooter=0
PrintColorMode=3
PrintZoom=10
PrintMarginLeft=2000
PrintMarginTop=2000
PrintMarginRight=2000
PrintMarginBottom=2000
SaveBeforeRunningTools=0
FileWatchingMode=0
ResetFileWatching=1
EscFunction=0
AlwaysOnTop=0
MinimizeToTray=0
TransparentMode=0
ToolbarButtons=1 2 3 4 0 5 6 0 7 8 9 0 10 11 0 12 0 13 14 0 15 16 0 17
ShowToolbar=1
ShowStatusbar=1
EncodingDlgSizeX=256
EncodingDlgSizeY=262
RecodeDlgSizeX=256
RecodeDlgSizeY=262
FileMRUDlgSizeX=412
FileMRUDlgSizeY=376
OpenWithDlgSizeX=384
OpenWithDlgSizeY=386
FavoritesDlgSizeX=334
FavoritesDlgSizeY=316
FindReplaceDlgPosX=0
FindReplaceDlgPosY=0
[Window]
1600x900 PosX=744
1600x900 PosY=16
1600x900 SizeX=840
1600x900 SizeY=840
1600x900 Maximized=0
[Custom Colors]
01=#000000
02=#0A246A
03=#3A6EA5
04=#003CE6
05=#006633
06=#608020
07=#648000
08=#A46000
09=#FFFFFF
10=#FFFFE2
11=#FFF1A8
12=#FFC000
13=#FF4000
14=#C80000
15=#B000B0
16=#B28B40
[Styles]
Use2ndDefaultStyle=0
DefaultScheme=0
AutoSelect=1
SelectDlgSizeX=304
SelectDlgSizeY=324
[Recent Files]
[Recent Find]
[Recent Replace]

control file

[Package]
version: 1
depends: 
incremental: False
 
[Product]
type: localboot
id: notepad2
name: Notepad2 Text Editor
description: Notepad2 is a fast and lightweight Notepad-like text editor with syntax highlighting.
advice: 
version: 4.2.25
priority: 0
licenseRequired: False
productClasses: 
setupScript: setup3264.ins
uninstallScript: uninstall3264.ins
updateScript: 
alwaysScript: 
onceScript: 
customScript: 
userLoginScript: 
 
[Changelog]
notepad2 (4.2.25-1) testing; urgency=low
 
  * Initial package
 
 -- ICT <ict@gcecad-service.nl>  Thu, 03 Apr 2014 19:01:31 +0000
 

setup3264.ins

; Copyright (c) uib gmbh (www.uib.de)
; This sourcecode is owned by uib
; and published under the Terms of the General Public License.
; credits: http://www.opsi.org/en/credits/
;
; License Management removed
 
 
[Actions]
requiredWinstVersion >= "4.10.8.6"
 
;DefVar $MsiId32$
;DefVar $UninstallProgram32$
;DefVar $MsiId64$
;DefVar $UninstallProgram64$
DefVar $LogDir$
DefVar $ProductId$  
DefVar $MinimumSpace$
DefVar $InstallDir32$
DefVar $InstallDir64$
DefVar $ExitCode$
DefVar $INST_SystemType$
;DefVar $INST_architecture$
DefVar $INST_MsVersion$
 
set $INST_MsVersion$ = GetMsVersionInfo
Set $INST_SystemType$ = GetSystemType
;set $INST_architecture$ = GetProductProperty("install_architecture","system specific")
Set $LogDir$ = "%SystemDrive%\tmp"
 
; ----------------------------------------------------------------
; - Please edit the following values                             -
; ----------------------------------------------------------------
;$ProductId$ should be the name of the product in opsi
; therefore please: only lower letters, no umlauts, 
; no white space use '-' as a seperator
Set $ProductId$       = "notepad2"
Set $MinimumSpace$    = "50 MB"
; the path were we find the product after the installation
Set $InstallDir32$      = "%ProgramFiles32Dir%\" + $ProductId$
Set $InstallDir64$      = "%ProgramFiles64Dir%\" + $ProductId$
; ----------------------------------------------------------------
 
if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$))
	LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for " + $ProductId$
	isFatalError
	; Stop process and set installation status to failed
endif
if $INST_MsVersion$ < "5.1"
	LogError "Windows XP or newer is required for " + $ProductId$  
	isFatalError
endif
 
comment "Show product picture"
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$
 
if FileExists("%ScriptPath%\delsub3264.ins")
	comment "Start uninstall sub section"
	Sub "%ScriptPath%\delsub3264.ins"
endif
 
comment "installing"
 
if ($INST_SystemType$ = "x86 System") 
;and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only")
	Message "Installing " + $ProductId$ + "..."
	comment "Start setup program"
	Winbatch_install_32
	Sub_check_exitcode
	comment "Copy files"
	Files_install_32 /32Bit
	comment "Patch Registry"
	Registry_install /32Bit
	comment "Copy files to all userprofiles"
	Files_install_allusers /AllNTUserProfiles	
	comment "Create shortcuts"
	LinkFolder_install
endif
 
if ($INST_SystemType$ = "64 Bit System") 
;and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only"))
	Message "Installing " + $ProductId$ + "..."
	comment "Start setup program"
	Winbatch_install_64
	Sub_check_exitcode
	comment "Copy files"
	Files_install_64 /64Bit
	comment "Patch Registry"
	Registry_install /64Bit
	comment "Copy files to all userprofiles"
	Files_install_allusers /AllNTUserProfiles
	comment "Create shortcuts"
	LinkFolder_install
endif
 
 
[Winbatch_install_32]
"%ScriptPath%\files\Notepad2_4.2.25_x86.exe" /silent
 
[Files_install_32]
copy -s "%ScriptPath%\files\programfiles\Notepad2.ini" "$InstallDir32$"
 
[Winbatch_install_64]
"%ScriptPath%\files\Notepad2_4.2.25_x64.exe" /silent
 
[Files_install_64]
copy -s "%ScriptPath%\files\programfiles\Notepad2.ini" "$InstallDir64$"
 
[Files_install_allusers]
copy -s "%ScriptPath%\files\appdata\Notepad2.ini" "%UserProfileDir%\Application Data\"
 
[Registry_install]
; Example of setting some values of an registry key:
;
; openkey [HKEY_LOCAL_MACHINE\Software\$ProductId$]
; set "name1" = "some string value"
; set "name2" = REG_DWORD:0001
; set "name3" = REG_BINARY:00 af 99 cd
 
[LinkFolder_install]
; Example of deleting a folder from AllUsers startmenu:
;
; set_basefolder common_programs
; delete_subfolder $ProductId$
;
; Example of creating an shortcut to the installed exe in AllUsers startmenu:
;
; set_basefolder common_programs
; set_subfolder $ProductId$
;
; set_link
; 	name: $ProductId$
; 	target: <path to the program>
; 	parameters:
; 	working_dir: $InstallDir$
; 	icon_file:
; 	icon_index:
; end_link
;
; Example of creating an shortcut to the installed exe on AllUsers desktop:
;
; set_basefolder common_desktopdirectory
; set_subfolder ""
;
; set_link
; 	name: $ProductId$
; 	target: <path to the program>
; 	parameters: <some_param>
; 	working_dir: $InstallDir$
; 	icon_file: <path to icon file>
; 	icon_index: 2
; end_link
 
 
[Sub_check_exitcode]
comment "Test for installation success via exit code"
set $ExitCode$ = getLastExitCode
; informations to exit codes see
; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx
; http://msdn.microsoft.com/en-us/library/aa368542.aspx
if ($ExitCode$ = "0")
	comment "Looks good: setup program gives exitcode zero"
else
	comment "Setup program gives a exitcode unequal zero: " + $ExitCode$
	if ($ExitCode$ = "1605")
		comment "ERROR_UNKNOWN_PRODUCT	1605	This action is only valid for products that are currently installed."
		comment "Uninstall of a not installed product failed - no problem"
	else
		if ($ExitCode$ = "1641")
			comment "looks good: setup program gives exitcode 1641"
			comment "ERROR_SUCCESS_REBOOT_INITIATED	1641	The installer has initiated a restart. This message is indicative of a success."
		else
			if ($ExitCode$ = "3010")
				comment "looks good: setup program gives exitcode 3010"
				comment "ERROR_SUCCESS_REBOOT_REQUIRED	3010	A restart is required to complete the install. This message is indicative of a success."
			else
				logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$
				isFatalError
			endif
		endif
	endif
endif

uninstall3264.ins

; Copyright (c) uib gmbh (www.uib.de)
; This sourcecode is owned by uib gmbh
; and published under the Terms of the General Public License.
; credits: http://www.opsi.org/en/credits/
;
; License Management removed
 
[Actions]
requiredWinstVersion >= "4.10.8.6"
 
;DefVar $MsiId32$
;DefVar $UninstallProgram32$
;DefVar $MsiId64$
;DefVar $UninstallProgram64$
DefVar $LogDir$
DefVar $ExitCode$
DefVar $ProductId$
DefVar $InstallDir32$
DefVar $InstallDir64$
DefVar $INST_SystemType$
;DefVar $INST_architecture$
 
Set $INST_SystemType$ = GetSystemType
;set $INST_architecture$ = GetProductProperty("install_architecture","system specific")
 
 
Set $LogDir$ = "%SystemDrive%\tmp"
 
; ----------------------------------------------------------------
; - Please edit the following values                             -
; ----------------------------------------------------------------
Set $ProductId$       = "notepad2"
Set $InstallDir32$      = "%ProgramFiles32Dir%\" + $ProductId$
Set $InstallDir64$      = "%ProgramFiles64Dir%\" + $ProductId$
; ----------------------------------------------------------------
 
 
comment "Show product picture"
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$
 
Message "Uninstalling " + $ProductId$ + " ..."
 
if FileExists("%ScriptPath%\delsub3264.ins")
	comment "Start uninstall sub section"
	Sub "%ScriptPath%\delsub3264.ins"
endif

delsub3264.ins

; Copyright (c) uib gmbh (www.uib.de)
; This sourcecode is owned by uib gmbh
; and published under the Terms of the General Public License.
; credits: http://www.opsi.org/en/credits/
;
; License Management removed
 
DefVar $UninstallProgram32$
DefVar $UninstallProgram64$
 
Set $UninstallProgram32$ = $InstallDir32$ + "\Notepad2.inf"
Set $UninstallProgram64$ = $InstallDir64$ + "\Notepad2.inf"
 
if ($INST_SystemType$ = "x86 System") 
;and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only")
	Message "Uninstalling " + $ProductId$ + "..."
 
	if FileExists($UninstallProgram32$)
		comment "Uninstall program found, starting uninstall"
		Winbatch_uninstall_32
		sub_check_exitcode
	endif
 
;	if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId32$ + "] DisplayName") = "")
;		comment "MSI id " + $MsiId32$ + " found in registry, starting msiexec to uninstall"
;		Winbatch_uninstall_msi_32
;		sub_check_exitcode
;	endif
 
	comment "Delete files"
	Files_uninstall_32 /32Bit
	Files_uninstall_allusers /AllNTUserProfiles
	comment "Cleanup registry"
	Registry_uninstall /32Bit
endif
 
if ($INST_SystemType$ = "64 Bit System") 
;and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only"))
	Message "Uninstalling " + $ProductId$ + "..."
 
	if FileExists($UninstallProgram64$)
		comment "Uninstall program found, starting uninstall"
		Winbatch_uninstall_64
		sub_check_exitcode
	endif
 
;	if not (GetRegistryStringValue64("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId64$ + "] DisplayName") = "")
;		comment "MSI id " + $MsiId64$ + " found in registry, starting msiexec to uninstall"
;		Winbatch_uninstall_msi_64
;		sub_check_exitcode
;	endif
 
	comment "Delete files"
	Files_uninstall_64 /64Bit
	Files_uninstall_allusers /AllNTUserProfiles
	comment "Cleanup registry"
	Registry_uninstall /64Bit
endif
 
comment "Delete program shortcuts"
LinkFolder_uninstall
 
[Winbatch_uninstall_32]
rundll32.exe advpack.dll,LaunchINFSectionEx  "$UninstallProgram32$",DefaultUninstall,,8,N
 
[Files_uninstall_32]
; Example for recursively deleting the installation directory (don't forget the trailing backslash):
;
; delete -sf "$InstallDir32$\"
 
[Winbatch_uninstall_64]
rundll32.exe advpack.dll,LaunchINFSectionEx  "$UninstallProgram64$",DefaultUninstall,,8,N
 
[Files_uninstall_64]
; Example for recursively deleting the installation directory (don't forget the trailing backslash):
;
; delete -sf "$InstallDir64$\"
 
 
[Files_uninstall_allusers]
delete -f "%AppdataDir%\Notepad2.ini"
 
[Registry_uninstall]
; Example of deleting a registry key:
;
; deletekey [HKEY_LOCAL_MACHINE\Software\$ProductId$]
 
[LinkFolder_uninstall]
; Example of deleting a folder from AllUsers startmenu:
;
; set_basefolder common_programs
; delete_subfolder $ProductId$
;
; Example of deleting a shortcut from AllUsers desktop:
;
; set_basefolder common_desktopdirectory
; set_subfolder ""
; delete_element $ProductId$
 
[Sub_check_exitcode]
comment "Test for installation success via exit code"
set $ExitCode$ = getLastExitCode
; informations to exit codes see
; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx
; http://msdn.microsoft.com/en-us/library/aa368542.aspx
if ($ExitCode$ = "0")
	comment "Looks good: setup program gives exitcode zero"
else
	comment "Setup program gives a exitcode unequal zero: " + $ExitCode$
	if ($ExitCode$ = "1605")
		comment "ERROR_UNKNOWN_PRODUCT	1605	This action is only valid for products that are currently installed."
		comment "Uninstall of a not installed product failed - no problem"
	else
		if ($ExitCode$ = "1641")
			comment "looks good: setup program gives exitcode 1641"
			comment "ERROR_SUCCESS_REBOOT_INITIATED	1641	The installer has initiated a restart. This message is indicative of a success."
		else
			if ($ExitCode$ = "3010")
				comment "looks good: setup program gives exitcode 3010"
				comment "ERROR_SUCCESS_REBOOT_REQUIRED	3010	A restart is required to complete the install. This message is indicative of a success."
			else
				logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$
				isFatalError
			endif
		endif
	endif
endif