User Tools

Site Tools


userspace:notepad2

This is an old revision of the document!


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.

control file

[Package]
version: 2
depends: 
incremental: False
 
[Product]
type: localboot
id: notepad2
name: Notepad2 Editor
description: Replacement for Windows Notepad
advice: 
version: 4.2.25
priority: -50
licenseRequired: False
productClasses: 
setupScript: setup.ins
uninstallScript: uninstall.ins
updateScript: 
alwaysScript: 
onceScript: 
customScript: 
userLoginScript: 
 
[ProductProperty]
type: unicode
name: install_architecture
multivalue: False
editable: True
description: Defines x86 or x64 architecture
values: ["32 only", "64 only", "both", "system specific"]
default: ["system specific"]
 
[Changelog]
notepad2 (4.2.25-1) testing; urgency=low
 
  * Initial package
 
 -- ICT <ict@gcecad-service.nl>  Thu, 21 Jun 2012 03:03:14 +0000 

setup.ins

[Actions]
requiredWinstVersion >= "4.10.8.6"
 
DefVar $LogDir$
DefVar $ProductId$  
DefVar $MinimumSpace$
DefVar $InstallDir32$
DefVar $InstallDir64$
DefVar $ExitCode$
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                             -
; ----------------------------------------------------------------
;$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$    = "10 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
else
	comment "Show product picture"
	ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$
	comment "installing"
 
	if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only")
		Message "Installing " + $ProductId$ + " 32 Bit..."
		comment "Start setup program"
		Winbatch_install_32
		Sub_check_exitcode
		comment "Copy files"
		Files_install_32 /32Bit
		comment "Copy files to all userprofiles"
		Files_install_allusers /AllNTUserProfiles
endif
 
	if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only"))
		Message "Installing " + $ProductId$ + " 64 Bit..."
		comment "Start setup program"
		Winbatch_install_64
		Sub_check_exitcode
		comment "Copy files"
		Files_install_64 /64Bit
		comment "Copy files to all userprofiles"
		Files_install_allusers /AllNTUserProfiles
	endif
 
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\"
 
 
 
 
[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

uninstall.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/
 
[Actions]
requiredWinstVersion >= "4.10.8.6"
 
DefVar $UninstallProgram32$
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$
 
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$ + " 32 Bit..."
 
	if FileExists($UninstallProgram32$)
		comment "Uninstall program found, starting uninstall"
		Winbatch_uninstall_32
		sub_check_exitcode
	endif
	comment "Delete files"
	Files_uninstall_allusers /AllNTUserProfiles
endif
 
 
if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only"))
	Message "Uninstalling " + $ProductId$ + " 64 Bit..."
 
	if FileExists($UninstallProgram64$)
		comment "Uninstall program found, starting uninstall"
		ExecWith_uninstall_64 "%SystemRoot%\cmd64.exe" /C
		sub_check_exitcode
	endif
 
	comment "Delete files"
	Files_uninstall_allusers /AllNTUserProfiles
endif
 
[Winbatch_uninstall_32]
rundll32.exe advpack.dll,LaunchINFSectionEx  "$UninstallProgram32$",DefaultUninstall,,8,N
 
[ExecWith_uninstall_64]
rundll32.exe advpack.dll,LaunchINFSectionEx  "$UninstallProgram64$",DefaultUninstall,,8,N
 
[Files_uninstall_allusers]
delete -f "%UserProfileDir%\Application Data\Notepad2.ini"
 
[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
userspace/notepad2.1342102111.txt.gz · Last modified: 2021/08/23 08:37 (external edit)