User Tools

Site Tools


winsttest

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
winsttest [2011/09/21 13:32]
ueluekmen created
— (current)
Line 1: Line 1:
-<code winst> 
-; 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/credits/ 
- 
-[Actions] 
-requiredWinstVersion >= "4.10.8.6" 
- 
-DefVar $MsiId$ 
-DefVar $UninstallProgram$ 
-DefVar $LogDir$ 
-DefVar $ProductId$   
-DefVar $MinimumSpace$ 
-DefVar $InstallDir$ 
-DefVar $ExitCode$ 
-DefVar $LicenseRequired$ 
-DefVar $LicenseKey$ 
-DefVar $LicensePool$ 
- 
-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$       = "opsi-template" 
-Set $MinimumSpace$    = "1 MB" 
-; the path were we find the product after the installation 
-Set $InstallDir$      = "%ProgramFiles32Dir%\<path to the product>" 
-Set $LicenseRequired$ = "false" 
-Set $LicensePool$     = "p_" + $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$ 
- 
-        if FileExists("%ScriptPath%\delsub32.ins") 
-                comment "Start uninstall sub section" 
-                Sub "%ScriptPath%\delsub32.ins" 
-        endif 
- 
-        Message "Installing " + $ProductId$ + " ..." 
- 
-        if $LicenseRequired$ = "true" 
-                comment "Licensing required, reserve license and get license key" 
-                Sub_get_licensekey 
-        endif 
- 
-        comment "Start setup program" 
-        Winbatch_install 
-        Sub_check_exitcode 
- 
-        comment "Copy files" 
-        Files_install /32Bit 
- 
-        comment "Patch Registry" 
-        Registry_install /32Bit 
- 
-        comment "Create shortcuts" 
-        LinkFolder_install 
- 
-        comment "Test for installation success" 
-        ; Test if software marked as installed in registry 
-        ; if (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}] DisplayName") = "") 
-        ;       logError "Fatal: After Installation 32 bit [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}] not found" 
-        ;       isFatalError 
-        ; else 
-        ;       comment "Successful Installation" 
-        ; endif 
- 
-endif 
- 
-[Winbatch_install] 
-; Choose one of the following examples as basis for your installation 
-; You can use $LicenseKey$ var to pass a license key to the installer 
-; 
-; === Nullsoft Scriptable Install System ================================================================ 
-; "%ScriptPath%\Setup.exe" /S 
-; 
-; === MSI package ======================================================================================= 
-; You may use the parameter PIDKEY=$Licensekey$ 
-; msiexec /i "%ScriptPath%\some.msi" /l* "$LogDir$\$ProductId$.install_log.txt" /qb! ALLUSERS=2 REBOOT=ReallySuppress 
-; 
-; === InstallShield + MSI===================================================================================== 
-; Attention: The path to the log file should not contain any whitespaces 
-; "%ScriptPath%\setup.exe" /s /v" /l* $LogDir$\$ProductId$.install_log.txt /qb! ALLUSERS=2 REBOOT=ReallySuppress" 
-; "%ScriptPath%\setup.exe" /s /v" /qb! ALLUSERS=2 REBOOT=ReallySuppress" 
-; 
-; === InstallShield ===================================================================================== 
-; Create setup.iss answer file by running: setup.exe /r /f1"c:\setup.iss" 
-; "%ScriptPath%\setup.exe" /s /sms /f1"%ScriptPath%\setup.iss" /f2"$LogDir$\$ProductId$.install_log.txt" 
-; 
-; === Inno Setup ======================================================================================== 
-; http://unattended.sourceforge.net/InnoSetup_Switches_ExitCodes.html 
-; You may create setup answer file by: setup.exe /SAVEINF="filename" 
-; You may use an answer file by the parameter /LOADINF="filename" 
-; "%ScriptPath%\setup.exe" /sp- /silent /norestart 
- 
-[Files_install] 
-; Example of recursively copying some files into the installation directory: 
-; 
-; copy -s "%ScriptPath%\files\*.*" "$InstallDir$" 
- 
-[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_get_licensekey] 
-if opsiLicenseManagementEnabled 
-        comment "License management is enabled and will be used" 
- 
-        comment "Trying to get a license key" 
-        Set $LicenseKey$ = demandLicenseKey ($LicensePool$) 
-        ; If there is an assignment of exactly one licensepool to the product the following call is possible: 
-        ; Set $LicenseKey$ = demandLicenseKey ("", $ProductId$) 
-        ; 
-        ; If there is an assignment of a license pool to a windows software id, it is possible to use: 
-        ; DefVar $WindowsSoftwareId$ 
-        ; $WindowsSoftwareId$ = "..." 
-        ; Set $LicenseKey$ = demandLicenseKey ("", "", $WindowsSoftwareId$) 
- 
-        DefVar $ServiceErrorClass$ 
-        set $ServiceErrorClass$ = getLastServiceErrorClass 
-        comment "Error class: " + $ServiceErrorClass$ 
- 
-        if $ServiceErrorClass$ = "None" 
-                comment "Everything fine, we got the license key '" + $LicenseKey$ + "'" 
-        else 
-                if $ServiceErrorClass$ = "LicenseConfigurationError" 
-                        LogError "Fatal: license configuration must be corrected" 
-                        LogError getLastServiceErrorMessage 
-                        isFatalError 
-                else  
-                        if $ServiceErrorClass$ = "LicenseMissingError" 
-                                LogError "Fatal: required license is not supplied" 
-                                isFatalError 
-                        endif 
-                endif 
-        endif 
-else 
-        LogError "Fatal: license required, but license management not enabled" 
-        isFatalError 
-endif 
- 
- 
-[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 
-</code> 
- 
  
winsttest.1316611925.txt.gz ยท Last modified: 2021/08/23 08:37 (external edit)