Softwareverteilung

Christianhh
Beiträge: 8
Registriert: 28 Dez 2013, 00:43

Re: Softwareverteilung

Beitrag von Christianhh »

ES HAT GEKLAPPT!!!!!!!
nur noch eins.... :?
um die Software freizuschalten benötigt man noch einen bestimmten Namen(Schule: xyz) und den Key(1234-1234-1234)....
wo und wie kann ich dieses einfügen ?
hier das Template welches ich genutzt habe...

; 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 $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"
ChangeDirectory "%SCRIPTPATH%"
Winbatch_install
Sub_check_exitcode

comment "Copy files"
Files_install /32Bit

comment "Patch Registry"
Registry_install /32Bit

comment "Create shortcuts"
LinkFolder_install

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%\lernwerkstatt 9.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 =====================================================================================
;
; "%ScriptPath%\setup.exe" /s /sms
;
; === Inno Setup ========================================================================================
; http://unattended.sourceforge.net/InnoS ... Codes.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 /nocancel /SUPPRESSMSGBOXES

[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 ... S.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
Benutzeravatar
embl-structures
Beiträge: 327
Registriert: 13 Jan 2010, 18:41
Wohnort: Heidelberg
Kontaktdaten:

Re: Softwareverteilung

Beitrag von embl-structures »

Christianhh hat geschrieben:ES HAT GEKLAPPT!!!!!!!
Und was war das Problem? Wir moechten auch etwas davon lernen :-)
Christianhh hat geschrieben:nur noch eins.... :?
um die Software freizuschalten benötigt man noch einen bestimmten Namen(Schule: xyz) und den Key(1234-1234-1234)....
wo und wie kann ich dieses einfügen ?
Das ist abhaengig von Installer und Produkt. Wenn Du Glueck hast, kannst Du die Angaben in einem Registry-Key oder einen spezifischen File unterbringen. Die Details muesstest Du beim Hersteller/Programmierer erfragen.

frank
Christianhh
Beiträge: 8
Registriert: 28 Dez 2013, 00:43

Re: Softwareverteilung

Beitrag von Christianhh »

oben steht noch was von"" You can use $LicenseKey$ var to pass a license key to the installer""
ich werde mal probieren es mit einzubauen...
opsi macht langsam echt Laune!!
Benutzeravatar
embl-structures
Beiträge: 327
Registriert: 13 Jan 2010, 18:41
Wohnort: Heidelberg
Kontaktdaten:

Re: Softwareverteilung

Beitrag von embl-structures »

embl-structures hat geschrieben:
Christianhh hat geschrieben:um die Software freizuschalten benötigt man noch einen bestimmten Namen(Schule: xyz) und den Key(1234-1234-1234)....
wo und wie kann ich dieses einfügen ?
Das ist abhaengig von Installer und Produkt. Wenn Du Glueck hast, kannst Du die Angaben in einem Registry-Key oder einen spezifischen File unterbringen. Die Details muesstest Du beim Hersteller/Programmierer erfragen.
Du meinst evtl. das OPSI-Lizenzmanagement? Das ist eine kostenpflichtige Erweiterung. Ich weiss aber nicht, ob sie generell alle Applikationen oder nur bestimmte Produkte unterstuetzt.

frank
Benutzeravatar
embl-structures
Beiträge: 327
Registriert: 13 Jan 2010, 18:41
Wohnort: Heidelberg
Kontaktdaten:

Re: Softwareverteilung

Beitrag von embl-structures »

Christianhh hat geschrieben:oben steht noch was von"" You can use $LicenseKey$ var to pass a license key to the installer""
ich werde mal probieren es mit einzubauen...
opsi macht langsam echt Laune!!
Es steht auch:

Code: Alles auswählen

[...]
if opsiLicenseManagementEnabled
    comment "License management is enabled and will be used"
    
    comment "Trying to get a license key"
    Set $LicenseKey$ = demandLicenseKey ($LicensePool$)
    [...]
Ich vermute, die PIDKEY-Option muesste von der entsprechenden Applikation unterstuetzt werden. Aber versuchs mal und sag ob es geklappt hat.
frank
Benutzeravatar
tobias
Beiträge: 1294
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

Re: Softwareverteilung

Beitrag von tobias »

das überträgt nur den entsprechend zugewiesenen Lizenzkey in die Variable. Wie schon erwähnt wurde brauchst du dafür das Lizenzmanagement. Ich würde es daher vorerst ignorieren.

Wie du den Key dann in den Installer bekommst ist davon abhängig wie der vom Softwarehersteller konzipiert wurde. Manchmal ist es ein Schalter, manchmal ist es eine textdatei die gepatched werden will.... zu jeder ordentlichen Software gehört entweder ein Deployment Guide oder es gibt entsprechende Hinweise auf der Website/Installationsanleitung.

Google ist auch immer eine gute Hilfe beim auffinden der Schalter ;)
Antworten