====== XMind 3.2.1 ======
2012-12-12\\
Script by uib gmbh \\
Comments and improvements welcome \\
Tested with opsi 4.0.2\\
type: localboot\\
id: xmind\\
name: xmind\\
description: XMind brainstorming and mind mapping software\\
version: 3.2.1\\
Requires javavm. So make a dependency.\\
Full package: http://download.uib.de/opsi4.0/products/contribute/full-package/
==== setup.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/
[Actions]
requiredWinstVersion >= "4.11.2.6"
DefVar $LogDir$
DefVar $ProductId$
DefVar $MinimumSpace$
DefVar $InstallDir$
DefVar $ExitCode$
DefVar $Install_Prog$
DefVar $Install_Cmd$
DefVar $Version$
DefVar $Executable$
DefVar $UninstallProgram$
DefVar $appdata$
Set $LogDir$ = "%SystemDrive%\opsi.org\tmp"
; ----------------------------------------------------------------
; - Please edit the following values -
; ----------------------------------------------------------------
Set $ProductId$ = "xmind"
Set $MinimumSpace$ = "46 MB"
; the path were we find the product after the installation
Set $InstallDir$ = "%ProgramFiles32Dir%\XMind"
Set $Install_Prog$ = "xmind-win-3.2.1.201011212218.exe"
Set $Version$ = "3.2.1"
Set $Executable$ = $InstallDir$ + "\xmind.exe"
; ----------------------------------------------------------------
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%\xmind-icon.png" $ProductId$
if FileExists($InstallDir$)
comment "Start uninstall sub section"
Sub "%ScriptPath%\delsub.ins"
endif
Message "Installing " + $ProductId$ + " ..."
comment "Start setup program"
Winbatch_install
Sub_check_exitcode
sub_Checkxmind
set $appdata$ = "Application data"
comment "'Application data' is used even on a non english XPor on win7"
Files_installprefs_profiles /AllNtUserProfiles
comment "desktop icon ..."
LinkFolder_install
comment "use xmind for freemind and mindmanager files ..."
Registry_install /32bit
endif
[sub_Checkxmind]
comment "Check if "+$InstallDir$+" Exists"
if FileExists($InstallDir$)
comment "install dir "+$InstallDir$+" exists"
else
comment "InstallDir "+$InstallDir$+" does NOT exist"
LogError "Did not find the InstallDir "+$InstallDir$+". Maybe a fatal build, so calling isFatalError"
isFatalError
endif
[Winbatch_install]
"%ScriptPath%\xmind-win-3.2.1.201011212218.exe" /S
[Files_installprefs_profiles]
; This third line copies the file to the Commons\ in each user's profile directory, which is used when an xmind file is clicked
copy "%ScriptPath%\net.xmind.verify.prefs" "%UserProfileDir%\$appdata$\xmind\workspace-cathy\.metadata\.plugins\org.eclipse.core.runtime\.settings\"
copy "%ScriptPath%\org.xmind.cathy.prefs" "%UserProfileDir%\$appdata$\xmind\workspace-cathy\.metadata\.plugins\org.eclipse.core.runtime\.settings\"
del "%UserProfileDir%\Desktop\XMind.lnk"
[LinkFolder_install]
set_basefolder common_desktopdirectory
set_subfolder ""
set_link
name: $ProductId$
target: $Executable$
parameters:
working_dir: $InstallDir$
icon_file:
icon_index:
end_link
set_basefolder common_programs
set_subfolder "XMind"
set_link
name: $ProductId$
target: $Executable$
parameters:
working_dir: $InstallDir$
icon_file:
icon_index:
end_link
[Registry_install]
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mm]
set ""="mmfile"
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mmap]
set ""="mmapfile"
set "Content Type"="application/vnd.mindjet.mindmanager"
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mmapfile]
set ""="MindManager File"
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mmapfile\DefaultIcon]
set ""='"%ProgramFiles32Dir%\XMind\xmind_file.ico"'
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mmapfile\Shell\Open\Command]
set ""='"%ProgramFiles32Dir%\XMind\xmind.exe" %1'
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mmfile]
set ""="FreeMind File"
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mmfile\DefaultIcon]
set ""='"%ProgramFiles32Dir%\XMind\xmind_file.ico"'
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mmfile\Shell\Open\Command]
set ""='"%ProgramFiles32Dir%\XMind\xmind.exe" %1'
[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."
Exitwindows /Reboot
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."
Exitwindows /Reboot
else
logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$
isFatalError
endif
endif
endif
endif
==== delsub.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/
Set $UninstallProgram$ = $InstallDir$ + "\uninstall.exe"
Message "Uninstalling " + $ProductId$ + " ..."
if FileExists($UninstallProgram$)
comment "Uninstall program found, starting uninstall"
Winbatch_uninstall /WaitforProcessending "Au_.exe" /Timeoutseconds 10
sub_check_exitcode
endif
comment "Delete files"
Files_uninstall /32Bit
comment "Delete linkFolder"
LinkFolder_delete
comment "del file associations to freemind and mindmanager ..."
Registry_uninstall
[Winbatch_uninstall]
; === Nullsoft Scriptable Install System ================================================================
"$UninstallProgram$" /S
[Files_uninstall]
del -sf "$InstallDir$\"
[LinkFolder_delete]
set_basefolder common_desktopdirectory
set_subfolder ""
delete_element $ProductId$
set_basefolder common_programs
delete_subfolder "XMind"
[Registry_uninstall]
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mmapfile\DefaultIcon]
DeleteVar ""
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mmapfile\Shell\Open\Command]
DeleteVar ""
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mmfile\DefaultIcon]
DeleteVar ""
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mmfile\Shell\Open\Command]
DeleteVar ""
[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."
Exitwindows /Reboot
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."
Exitwindows /Reboot
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.11.2.6"
DefVar $LogDir$
DefVar $ExitCode$
DefVar $ProductId$
DefVar $InstallDir$
DefVar $UninstallProgram$
Set $LogDir$ = "%SystemDrive%\opsi.org\tmp"
; ----------------------------------------------------------------
; - Please edit the following values -
; ----------------------------------------------------------------
Set $ProductId$ = "xmind"
Set $InstallDir$ = "%ProgramFiles32Dir%\XMind"
; ----------------------------------------------------------------
comment "Show product picture"
ShowBitmap "%ScriptPath%\xmind-icon.png" $ProductId$
Message "Uninstalling " + $ProductId$ + " ..."
if FileExists($InstallDir$)
comment "Start uninstall sub section"
Sub "%ScriptPath%\delsub.ins"
endif