Hallo Zusammen,
gibt es eine Möglichkeit die Versionsnummer des zu installierenden Programms (z.B.: VLC, hier ist Versionsnummer im Programmnamen notwendig) nicht hart codiert im Installationsskript abzulegen? Wenn ja, wie geht das?
Liebe Grüße
Ruben
Versionsnummer nicht hart codiert
-
- Beiträge: 11
- Registriert: 09 Dez 2013, 17:01
Re: Versionsnummer nicht hart codiert
ja, habe ich schonmal gemacht.admin@gzbg.de hat geschrieben: gibt es eine Möglichkeit die Versionsnummer des zu installierenden Programms (z.B.: VLC, hier ist Versionsnummer im Programmnamen notwendig) nicht hart codiert im Installationsskript abzulegen? Wenn ja, wie geht das?
Prinzipiell ist dann die $SetupFile$ ein fixer Pattern mit einen eingefügten Product-Versionstring vom OPSI-Server.
Code: Alles auswählen
; get ProductMap from actual opsi packet ................................
include_insert "%ScriptDrive%\lib\getproductmap.opsiinc"
...
Set $Setupfile$ = "ownCloud-" + $ProductMap_ProductVersion$ + "-setup.exe"
...
Ich habe mir einmal die Mühe gemacht und die Stringlist komplett als "getproductmap.opsiinc" in meiner Library abgelegt, welche dann bei Bedarf mittels include_insert (siehe oben) eingebunden wird.
Code: Alles auswählen
; This sourcecode is partly owned by uib.de and published under the Terms of the General Public License.
; credits: http://www.opsi.org/en/credits/
;
; written by GEI (Detlef Krummel opsi@gei.de)
; FILE "%ScriptDrive%\lib\getproductmap.opsiinc"
requiredWinstVersion >="4.11.2"
; for debugging setLogLevel = 7
DefStringList $ProductMap_List$
Set $ProductMap_List$ = getProductMap
setLogLevel = 6
; --------- sample values ---------------------------------------------------------------------------
; 0)id=owncloud 1)name=ownCloud 2)description=Win-Cloudclient
; 3)advice=(aktualisiert am 4.9.2014) 4)productversion=1.6.3.3721 5)packageversion=17
; 6)priority=0 7)installationstate=unknown 8)lastactionrequest=setup
; 9)lastactionresult=successful 10)installedversion=1.6.2. 11)installedpackage=16
;12)installedmodificationtime= 13)actionrequest=setup
DefVar $ProductMap_Id$
Set $ProductMap_Id$ = getValue("id", $ProductMap_List$)
DefVar $ProductMap_Name$
Set $ProductMap_Name$ = getValue("name", $ProductMap_List$)
DefVar $ProductMap_Description$
Set $ProductMap_Description$ = getValue("description", $ProductMap_List$)
DefVar $ProductMap_Advice$
Set $ProductMap_Advice$ = getValue("advice", $ProductMap_List$)
DefVar $ProductMap_ProductVersion$
Set $ProductMap_ProductVersion$ = getValue("productversion", $ProductMap_List$)
DefVar $ProductMap_PackageVersion$
Set $ProductMap_PackageVersion$ = getValue("packageversion", $ProductMap_List$)
DefVar $ProductMap_Priority$
Set $ProductMap_Priority$ = getValue("priority", $ProductMap_List$)
DefVar $ProductMap_InstallationState$
Set $ProductMap_InstallationState$ = getValue("installationstate", $ProductMap_List$)
DefVar $ProductMap_LastActionRequest$
Set $ProductMap_LastActionRequest$ = getValue("lastactionrequest", $ProductMap_List$)
DefVar $ProductMap_LastActionResult$
Set $ProductMap_LastActionResult$ = getValue("lastactionresult", $ProductMap_List$)
DefVar $ProductMap_InstalledVersion$
Set $ProductMap_InstalledVersion$ = getValue("installedversion", $ProductMap_List$)
DefVar $ProductMap_InstalledPackage$
Set $ProductMap_InstalledPackage$ = getValue("installedpackage", $ProductMap_List$)
DefVar $ProductMap_InstalledModificationTime$
Set $ProductMap_InstalledModificationTime$ = getValue("installedmodificationtime", $ProductMap_List$)
DefVar $ProductMap_ActionRequest$
Set $ProductMap_ActionRequest$ = getValue("actionrequest", $ProductMap_List$)
Leibniz-Institut für Bildungsmedien | Georg-Eckert-Institut (GEI)
---
'opsi4instituts' = Communityprojekt für wissenschaftliche Einrichtungen
offenes Repository, Update-Notifier
wiki.o4i.org - www.gei.de/institut/direktion/it-service/opsi4instituts
---
'opsi4instituts' = Communityprojekt für wissenschaftliche Einrichtungen
offenes Repository, Update-Notifier
wiki.o4i.org - www.gei.de/institut/direktion/it-service/opsi4instituts
-
- Beiträge: 11
- Registriert: 09 Dez 2013, 17:01
Re: Versionsnummer nicht hart codiert
Hallo Detlef,
herzlichen Dank für deine tolle Lösung. Konnte sie prompt einsetzen.
Gottes Segen dir!
herzlichen Dank für deine tolle Lösung. Konnte sie prompt einsetzen.
Gottes Segen dir!
Re: Versionsnummer nicht hart codiert
[quote="admin@gzbg.de"
herzlichen Dank für deine tolle Lösung. Konnte sie prompt einsetzen.
[/quote]
gern geschehen ....
Bitte deinen ersten Beitrag (Anfrage) editieren und
die Betreffzeile mit einem führenden "[Gelöst]" versehen
herzlichen Dank für deine tolle Lösung. Konnte sie prompt einsetzen.
[/quote]
gern geschehen ....
Bitte deinen ersten Beitrag (Anfrage) editieren und
die Betreffzeile mit einem führenden "[Gelöst]" versehen

Leibniz-Institut für Bildungsmedien | Georg-Eckert-Institut (GEI)
---
'opsi4instituts' = Communityprojekt für wissenschaftliche Einrichtungen
offenes Repository, Update-Notifier
wiki.o4i.org - www.gei.de/institut/direktion/it-service/opsi4instituts
---
'opsi4instituts' = Communityprojekt für wissenschaftliche Einrichtungen
offenes Repository, Update-Notifier
wiki.o4i.org - www.gei.de/institut/direktion/it-service/opsi4instituts
Re: Versionsnummer nicht hart codiert
es geht mittlerweise einfacher ...
Wird das Paket mittels "opsi-package-manager -i" in das Depot installiert, dann ist zu Laufzeit der Installation auf dem Client die Variable %installingProdVersion% belegt ... 5.8.6.7519-002 (Beispiel Evernote)
(Quelle hierfür ist das Feld "[Product] Version" in OPSI/control)
Damit kann innerhalb des Setupsciptes die Variable $Setupfile$ gebildet werden und man braucht bei künftigen Paketupdates das Setup.opsiscript nicht mehr zu ändern
schön wär es, wenn irgendwann die Werte einzeln verfügbar wären ... %installingProductVersion%, %installingPackageVersion%
Wird das Paket mittels "opsi-package-manager -i" in das Depot installiert, dann ist zu Laufzeit der Installation auf dem Client die Variable %installingProdVersion% belegt ... 5.8.6.7519-002 (Beispiel Evernote)
(Quelle hierfür ist das Feld "[Product] Version" in OPSI/control)
Damit kann innerhalb des Setupsciptes die Variable $Setupfile$ gebildet werden und man braucht bei künftigen Paketupdates das Setup.opsiscript nicht mehr zu ändern

@UIB:;sample Evernote_5.8.6.7519.exe
;sample %installingProdVersion% 5.8.6.7519-002 (5.8.6.7519 = ProductVersion, 002 = PackageVersion)
;
DefVar $ProductVersion$
Set $ProductVersion$ = strPart("%installingProdVersion%", "1", calculate(strPos("%installingProdVersion%","-") + "-" + "1" ))
Set $Setupfile$ = "Evernote_" + $ProductVersion$ + ".exe"
schön wär es, wenn irgendwann die Werte einzeln verfügbar wären ... %installingProductVersion%, %installingPackageVersion%

Leibniz-Institut für Bildungsmedien | Georg-Eckert-Institut (GEI)
---
'opsi4instituts' = Communityprojekt für wissenschaftliche Einrichtungen
offenes Repository, Update-Notifier
wiki.o4i.org - www.gei.de/institut/direktion/it-service/opsi4instituts
---
'opsi4instituts' = Communityprojekt für wissenschaftliche Einrichtungen
offenes Repository, Update-Notifier
wiki.o4i.org - www.gei.de/institut/direktion/it-service/opsi4instituts
- SisterOfMercy
- Beiträge: 1556
- Registriert: 22 Jun 2012, 19:18
Re: Versionsnummer nicht hart codiert
Why don't you rename the setup program?admin@gzbg.de hat geschrieben:gibt es eine Möglichkeit die Versionsnummer des zu installierenden Programms (z.B.: VLC, hier ist Versionsnummer im Programmnamen notwendig) nicht hart codiert im Installationsskript abzulegen? Wenn ja, wie geht das?
In my case I would rename it like this:
vlc-2.2.1-win32.exe -> vlc-x86.exe
vlc-2.2.1-win64.exe -> vlc-x64.exe
And just call vlc-x64.exe in the script. When a newer version comes available you would have to copy it into the right directory anyway, so why not rename it while you're at it.
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!