User Tools

Site Tools


start

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2011/09/21 13:14]
ueluekmen
start [2024/01/03 15:38] (current)
d.oertel [Packaging]
Line 1: Line 1:
-====== Hallo Welt ====== +====== User information / Nutzerhinweise ====== 
-test+Welcome to the opsi wiki / Willkommen beim opsi wiki
  
-hallo+    * Anybody is invited to share opsi-script scripts with the opsi-community / Alle sind eingeladen opsi-script Skripte in der opsi-Community bereitzustellen. 
 +    * Postings or descriptions should be in English / Beiträge sollten möglichst einsprachig (Englisch) sein. 
 +    * To join this wiki please register - you can even use your forum user account / Für das Einstellen von Skripten o.a. ist eine Useranmeldung erforderlich - es kann der Benutzer Account aus dem Forum benutzt werden. 
 +    * Anybody can edit and comment the pages, so please respect each other / Jeder kann editieren und kommentieren, daher ist es wichtig, respektvoll mit einander umzugehen.
  
-<code java> +A short introduction on how to post a script / Kurze Einführung, wie ein Skript eingstellt werden sollte: 
-class hallo +    * Put your scripts at new pages below [[userspace:script templates|opsi-script scripts]] (You will not be able to edit this page). 
-</code>+    * Put the opsi-script code between %%"<code winst>"%% and %%"</code>"%% 
 +    * A product name and maybe a short product description / Ein Produktname und eventuell eine kurze Produktbeschreibung. 
 +    * Which opsi (opsi-script) version is needed for the script / Welche opsi (opsi-script) Version wird für das Skript benötigt. 
 +    * Other script settings / Anderen spezielle Einstellungen für das Skript. 
 +    * Is a license-file needed? (don't put it in the script) / Erklärung, ob eine Lizenz benötigt wird (Lizenzinformationen nicht ins Skript posten). 
 +    * To discuss scripts, please use the 'Discussion' tab, along with changing them 
  
-test+ A Script example / Ein Skriptbeispiel :\\ 
 +[[userspace:opsi-template]]
  
-<code Bash> 
-$test 
  
-case 
-if 
-xargs 
- 
-alias 
-</code> 
- 
-<code Winst> 
-$test$ 
- 
-case 
-if 
-xargs 
- 
-alias 
-</code> 
  
  
 ====== Packaging ====== ====== Packaging ======
  
-  * [[Packaging links]] +  * [[userspace:free opsi repositories]] 
-  * [[script templates]] +  * opsi-script 
- +     * [[userspace:script templates|opsi-script scripts]] 
-<code winst> +     * [[userspace:opsiscript library|opsiscript_library]] 
-; Copyright (c) uib gmbh (www.uib.de) +  * [[userspace:webservice corner|webservice_corner]] 
-; This sourcecode is owned by uib +  [[userspace:net boot scripts|netboot scripts]
-; and published under the Terms of the General Public License. +  * [[userspace:opsi-server base installation|opsi-server base installation]] 
-; creditshttp://www.opsi.org/credits/ +  [[userspace:software integration web links]
- +  [[userspace:shell scripts|shell scripts]
-[Actions+  * [[opsi-server authentication over Windows AD based on LDAP]]
-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 pleaseonly 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===================================================================================== +
-; AttentionThe 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:+
-; 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> 
  
  
 +====== Sources ======
  
 +  * [[https://opsi.org| official Projectpage]]
 +  * [[https://www.uib.de| maintainer]]
 +  * [[https://forum.opsi.org| free support forum]]
  
  
start.1316610867.txt.gz · Last modified: 2021/08/23 08:37 (external edit)