winst GUI und Verteilung anderes Ergebnis
-
- Beiträge: 8
- Registriert: 04 Feb 2015, 08:36
winst GUI und Verteilung anderes Ergebnis
Hallo Zusammen,
ich bin gerade dabei OPSI 4.0.4 für uns zu testen, und bin auf ein merkwürdiges verhalten gestoßen:
Im speziellen geht es um die Installation von Lotus Notes 8.5.2 Fixpack 4. Ich habe zwei Pakete angelegt: Lotus Notes und separat das Fixpack. Das Fixpack ist so eingestellt, dass Notes bereits installiert sein muss, oder das Paket installiert wird, bevor das FP installiert werden kann. Diese Abhängigkeit funktioniert einwandfrei, ebenso das Setup von Notes. Das FP bricht mir über die Verteilung allerdings mit dem Errorcode 1619 ab. Wenn ich die winst GUI aufrufe, und das gleiche setup32.ins auswähle, das im Paket ist, läuft das Setup fehlerfrei durch.
Vielen Dank schon im Voraus
Stephan
ich bin gerade dabei OPSI 4.0.4 für uns zu testen, und bin auf ein merkwürdiges verhalten gestoßen:
Im speziellen geht es um die Installation von Lotus Notes 8.5.2 Fixpack 4. Ich habe zwei Pakete angelegt: Lotus Notes und separat das Fixpack. Das Fixpack ist so eingestellt, dass Notes bereits installiert sein muss, oder das Paket installiert wird, bevor das FP installiert werden kann. Diese Abhängigkeit funktioniert einwandfrei, ebenso das Setup von Notes. Das FP bricht mir über die Verteilung allerdings mit dem Errorcode 1619 ab. Wenn ich die winst GUI aufrufe, und das gleiche setup32.ins auswähle, das im Paket ist, läuft das Setup fehlerfrei durch.
Vielen Dank schon im Voraus
Stephan
- n.wenselowski
- Ex-uib-Team
- Beiträge: 3194
- Registriert: 04 Apr 2013, 12:15
Re: winst GUI und Verteilung anderes Ergebnis
Hallo Stephan,
googelt man nach dem Errorcode 1619 kommt man darauf, dass die Installationsdatei nicht geöffnet werden konnte.
Ist vielleicht das schon das Problem?
Hier könnte ein Blick auf das instlog helfen.
Außerdem ist es immer gut die Rechte neu zu setzen:
Gruß
Niko
googelt man nach dem Errorcode 1619 kommt man darauf, dass die Installationsdatei nicht geöffnet werden konnte.
Ist vielleicht das schon das Problem?
Hier könnte ein Blick auf das instlog helfen.
Außerdem ist es immer gut die Rechte neu zu setzen:
Code: Alles auswählen
sudo opsi-set-rights
Gruß
Niko
Code: Alles auswählen
import OPSI
-
- Beiträge: 8
- Registriert: 04 Feb 2015, 08:36
Re: winst GUI und Verteilung anderes Ergebnis
Hallo Niko,
die Berechtigungen mit "opsi-set-rights" ist gelaufen, ändert aber nichts an meinem Problem.
Wie gesagt, wenn ich das "setup32.ins" direkt mit dem "opsi-winst" öffne und starte, funktioniert die Installation einwandfrei.
Anbei ein Auszug aus dem Instlog.
Danke noch mal.
die Berechtigungen mit "opsi-set-rights" ist gelaufen, ändert aber nichts an meinem Problem.
Wie gesagt, wenn ich das "setup32.ins" direkt mit dem "opsi-winst" öffne und starte, funktioniert die Installation einwandfrei.
Anbei ein Auszug aus dem Instlog.
Danke noch mal.
Code: Alles auswählen
[5] [Feb 04 12:53:09:146] Product 9 lotusnotesfp : setup
[6] [Feb 04 12:53:09:436] [lotusnotesfp] JSON service request https://10.0.1.30:4447/rpc getProductProperties_hash
[6] [Feb 04 12:53:09:571] [lotusnotesfp] JSON Bench for getProductProperties_hash "params":["lotusnotesfp","testpc.domain.local"],"id Start: 12:53:09:435 Time: 00:00:00:135
[6] [Feb 04 12:53:09:583] [lotusnotesfp] JSON service request https://10.0.1.30:4447/rpc getProduct_hash
[6] [Feb 04 12:53:09:699] [lotusnotesfp] JSON Bench for getProduct_hash "params":["lotusnotesfp","hoegopsi01.domain.local"], Start: 12:53:09:582 Time: 00:00:00:117
[6] [Feb 04 12:53:09:712] [lotusnotesfp] JSON service request https://10.0.1.30:4447/rpc productOnClient_getObjects
[6] [Feb 04 12:53:09:770] [lotusnotesfp] JSON Bench for productOnClient_getObjects "params":["",{"clientId":"testpc.domain.local","pro Start: 12:53:09:711 Time: 00:00:00:059
[5] [Feb 04 12:53:09:780] [lotusnotesfp] scriptname: "setup32.ins", special path: "p:\lotusnotesfp\"
[6] [Feb 04 12:53:09:782] [lotusnotesfp] JSON service request https://10.0.1.30:4447/rpc productOnClient_updateObject
[6] [Feb 04 12:53:09:844] [lotusnotesfp] JSON Bench for productOnClient_updateObject "params":[{"clientId":"testpc.domain.local","action Start: 12:53:09:781 Time: 00:00:00:063
[1] [Feb 04 12:53:09:884] [lotusnotesfp]
[1] [Feb 04 12:53:09:884] [lotusnotesfp] ============ Version 4.11.3.11 WIN32 script "p:\lotusnotesfp\setup32.ins"
[1] [Feb 04 12:53:09:884] [lotusnotesfp] start: 2015-02-04 12:53:09
[1] [Feb 04 12:53:09:884] [lotusnotesfp] installing product: lotusnotesfp_8.5.2.4-1.1
[1] [Feb 04 12:53:09:884] [lotusnotesfp] on client named "testpc.domain.local"
[1] [Feb 04 12:53:09:885] [lotusnotesfp] loggedin user "Administrator"
[1] [Feb 04 12:53:09:885] [lotusnotesfp] winst running as "SYSTEM"
[1] [Feb 04 12:53:09:885] [lotusnotesfp] winst running with admin privileges
[1] [Feb 04 12:53:09:885] [lotusnotesfp] winst running in standard script mode
[1] [Feb 04 12:53:09:885] [lotusnotesfp] executing: "C:\Program Files (x86)\opsi.org\opsi-client-agent\opsi-winst\winst32.exe"
[1] [Feb 04 12:53:09:885] [lotusnotesfp] system infos:
[1] [Feb 04 12:53:09:890] [lotusnotesfp] F0-DE-F1-XX-XX-XX - PC hardware address
[1] [Feb 04 12:53:09:890] [lotusnotesfp] TESTPC.Domain.local - IP name
[1] [Feb 04 12:53:09:890] [lotusnotesfp] 10.0.2.117 - IP address
[1] [Feb 04 12:53:09:890] [lotusnotesfp] DEU - System default locale
[1] [Feb 04 12:53:09:890] [lotusnotesfp] MS Windowds 6.1 64 Bit
[1] [Feb 04 12:53:09:890] [lotusnotesfp] opsi service version : 4
[1] [Feb 04 12:53:09:890] [lotusnotesfp]
[6] [Feb 04 12:53:09:890] [lotusnotesfp] Registry key [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion] opened
[6] [Feb 04 12:53:09:891] [lotusnotesfp] Key closed
[6] [Feb 04 12:53:09:977] [lotusnotesfp] opsi-winst has version 4.11.3.11, required is : >= 4.11.2.6
[5] [Feb 04 12:53:09:977] [lotusnotesfp]
[5] [Feb 04 12:53:09:977] [lotusnotesfp] Set $DISPLAYNAME$ = "Lotus Notes FixPack"
[6] [Feb 04 12:53:09:977] [lotusnotesfp] The value of the variable "$DISPLAYNAME$" is now: "Lotus Notes FixPack"
[5] [Feb 04 12:53:09:977] [lotusnotesfp]
[5] [Feb 04 12:53:09:977] [lotusnotesfp] Set $LogDir$ = "C:\tmp"
[6] [Feb 04 12:53:09:977] [lotusnotesfp] The value of the variable "$LogDir$" is now: "C:\tmp"
[5] [Feb 04 12:53:09:977] [lotusnotesfp]
[5] [Feb 04 12:53:09:977] [lotusnotesfp] Set $ProductId$ = "lotusnotesfp"
[6] [Feb 04 12:53:09:977] [lotusnotesfp] The value of the variable "$ProductId$" is now: "lotusnotesfp"
[5] [Feb 04 12:53:09:977] [lotusnotesfp]
[5] [Feb 04 12:53:09:977] [lotusnotesfp] Set $MinimumSpace$ = "400 MB"
[6] [Feb 04 12:53:09:977] [lotusnotesfp] The value of the variable "$MinimumSpace$" is now: "400 MB"
[5] [Feb 04 12:53:09:977] [lotusnotesfp]
[5] [Feb 04 12:53:09:977] [lotusnotesfp] Set $InstallDir$ = "C:\Program Files (x86)\" + $DISPLAYNAME$
[6] [Feb 04 12:53:09:977] [lotusnotesfp] The value of the variable "$InstallDir$" is now: "C:\Program Files (x86)\Lotus Notes FixPack"
[5] [Feb 04 12:53:09:978] [lotusnotesfp]
[5] [Feb 04 12:53:09:978] [lotusnotesfp] Set $LicenseRequired$ = "false"
[6] [Feb 04 12:53:09:978] [lotusnotesfp] The value of the variable "$LicenseRequired$" is now: "false"
[5] [Feb 04 12:53:09:978] [lotusnotesfp]
[5] [Feb 04 12:53:09:978] [lotusnotesfp] Set $LicensePool$ = "p_" + $ProductId$
[6] [Feb 04 12:53:09:978] [lotusnotesfp] The value of the variable "$LicensePool$" is now: "p_lotusnotesfp"
[5] [Feb 04 12:53:09:978] [lotusnotesfp]
[5] [Feb 04 12:53:09:978] [lotusnotesfp] If
[6] [Feb 04 12:53:09:978] [lotusnotesfp] Free on Disk C:: 453.800.058.880 bytes This is more than the required amount of 400.000.000 bytes
[5] [Feb 04 12:53:09:978] [lotusnotesfp] HasMinimumSpace ("C:", $MinimumSpace$) <<< result true
[5] [Feb 04 12:53:09:978] [lotusnotesfp] not(HasMinimumSpace ("C:", $MinimumSpace$)) <<< result false
[5] [Feb 04 12:53:09:978] [lotusnotesfp] Then
[5] [Feb 04 12:53:09:978] [lotusnotesfp]
[5] [Feb 04 12:53:09:978] [lotusnotesfp] Else
[5] [Feb 04 12:53:09:978] [lotusnotesfp] comment: Show product picture
[5] [Feb 04 12:53:10:073] [lotusnotesfp]
[5] [Feb 04 12:53:10:073] [lotusnotesfp] If
[6] [Feb 04 12:53:10:076] [lotusnotesfp] Starting query if file exist ...
[5] [Feb 04 12:53:10:079] [lotusnotesfp] FileExists("P:\lotusnotesfp\delsub32.ins") <<< result true
[5] [Feb 04 12:53:10:079] [lotusnotesfp] Then
[5] [Feb 04 12:53:10:079] [lotusnotesfp] comment: Start uninstall sub section
[6] [Feb 04 12:53:10:093] [lotusnotesfp]
[6] [Feb 04 12:53:10:093] [lotusnotesfp] ~~~~~~~ Start Sub ~~~~~~~ Sub "P:\lotusnotesfp\delsub32.ins"
[5] [Feb 04 12:53:10:095] [lotusnotesfp]
[5] [Feb 04 12:53:10:095] [lotusnotesfp] Set $MsiId$ = '{6BAE1A3B-273D-46D9-8A0A-XXXXXXXXXXXX}'
[6] [Feb 04 12:53:10:098] [lotusnotesfp] The value of the variable "$MsiId$" is now: "{6BAE1A3B-273D-46D9-8A0A-XXXXXXXXXXXX}"
[5] [Feb 04 12:53:10:098] [lotusnotesfp]
[5] [Feb 04 12:53:10:098] [lotusnotesfp] Set $UninstallProgram$ = $InstallDir$ + "\uninstall.exe"
[6] [Feb 04 12:53:10:098] [lotusnotesfp] The value of the variable "$UninstallProgram$" is now: "C:\Program Files (x86)\Lotus Notes FixPack\uninstall.exe"
[5] [Feb 04 12:53:10:099] [lotusnotesfp] message Uninstalling Lotus Notes FixPack ...
[5] [Feb 04 12:53:10:101] [lotusnotesfp]
[5] [Feb 04 12:53:10:101] [lotusnotesfp] If
[6] [Feb 04 12:53:10:102] [lotusnotesfp] Starting query if file exist ...
[5] [Feb 04 12:53:10:102] [lotusnotesfp] "C:\Program Files (x86)\Lotus Notes FixPack\uninstall.exe": File Error 3 (Das System kann den angegebenen Pfad nicht finden.<)
[5] [Feb 04 12:53:10:102] [lotusnotesfp] FileExists($UninstallProgram$) <<< result false
[5] [Feb 04 12:53:10:102] [lotusnotesfp] Then
[5] [Feb 04 12:53:10:102] [lotusnotesfp] EndIf
[5] [Feb 04 12:53:10:102] [lotusnotesfp]
[5] [Feb 04 12:53:10:102] [lotusnotesfp] If
[6] [Feb 04 12:53:10:102] [lotusnotesfp] Info: Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{6BAE1A3B-273D-46D9-8A0A-XXXXXXXXXXXX}] could not be opened by RegOpenKeyEx, Errorno 2 "Das System kann die angegebene Datei nicht finden.<"
[5] [Feb 04 12:53:10:102] [lotusnotesfp] GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId$ + "] DisplayName") = "" <<< result true
[5] [Feb 04 12:53:10:102] [lotusnotesfp] not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId$ + "] DisplayName") = "") <<< result false
[5] [Feb 04 12:53:10:102] [lotusnotesfp] Then
[5] [Feb 04 12:53:10:102] [lotusnotesfp] EndIf
[6] [Feb 04 12:53:10:102] [lotusnotesfp] Section ending since next line is starting with "["
[6] [Feb 04 12:53:10:102] [lotusnotesfp]
[6] [Feb 04 12:53:10:102] [lotusnotesfp] ~~~~~~~ End Sub ~~~~~~~ Sub "P:\lotusnotesfp\delsub32.ins"
[6] [Feb 04 12:53:10:102] [lotusnotesfp]
[5] [Feb 04 12:53:10:102] [lotusnotesfp] EndIf
[5] [Feb 04 12:53:10:105] [lotusnotesfp] message Installing Lotus Notes FixPack ...
[5] [Feb 04 12:53:10:107] [lotusnotesfp]
[5] [Feb 04 12:53:10:107] [lotusnotesfp] If
[5] [Feb 04 12:53:10:108] [lotusnotesfp] $LicenseRequired$ = "true" <<< result false
[5] [Feb 04 12:53:10:108] [lotusnotesfp] Then
[5] [Feb 04 12:53:10:108] [lotusnotesfp] EndIf
[5] [Feb 04 12:53:10:110] [lotusnotesfp] comment: Start setup program
[6] [Feb 04 12:53:10:117] [lotusnotesfp] Changed current directory to P:\lotusnotesfp
[5] [Feb 04 12:53:10:117] [lotusnotesfp]
[5] [Feb 04 12:53:10:117] [lotusnotesfp] Execution of Winbatch_install
[6] [Feb 04 12:53:10:119] [lotusnotesfp] Call "setup.exe /S /v"/qn""
[6] [Feb 04 12:53:10:119] [lotusnotesfp] Waiting until the called process is finished
[6] [Feb 04 12:53:10:122] [lotusnotesfp] Start process as invoker: SYSTEM
[6] [Feb 04 12:53:15:497] [lotusnotesfp] ExitCode 1619 Executed process "setup.exe /S /v"/qn""
[6] [Feb 04 12:53:15:506] [lotusnotesfp]
[6] [Feb 04 12:53:15:506] [lotusnotesfp] ~~~~~~~ Start Sub ~~~~~~~ Sub_check_exitcode
[5] [Feb 04 12:53:15:510] [lotusnotesfp] comment: Test for installation success via exit code
[5] [Feb 04 12:53:15:510] [lotusnotesfp]
[5] [Feb 04 12:53:15:510] [lotusnotesfp] Set $ExitCode$ = getLastExitCode
[6] [Feb 04 12:53:15:510] [lotusnotesfp] The value of the variable "$ExitCode$" is now: "1619"
[5] [Feb 04 12:53:15:510] [lotusnotesfp]
[5] [Feb 04 12:53:15:510] [lotusnotesfp] If
[5] [Feb 04 12:53:15:510] [lotusnotesfp] $ExitCode$ = "0" <<< result false
[5] [Feb 04 12:53:15:510] [lotusnotesfp] ($ExitCode$ = "0") <<< result false
[5] [Feb 04 12:53:15:510] [lotusnotesfp] Then
[5] [Feb 04 12:53:15:510] [lotusnotesfp]
[5] [Feb 04 12:53:15:510] [lotusnotesfp] Else
[5] [Feb 04 12:53:15:511] [lotusnotesfp] comment: Setup program gives a exitcode unequal zero: 1619
[5] [Feb 04 12:53:15:511] [lotusnotesfp]
[5] [Feb 04 12:53:15:511] [lotusnotesfp] If
[5] [Feb 04 12:53:15:511] [lotusnotesfp] $ExitCode$ = "1605" <<< result false
[5] [Feb 04 12:53:15:511] [lotusnotesfp] ($ExitCode$ = "1605") <<< result false
[5] [Feb 04 12:53:15:511] [lotusnotesfp] Then
[5] [Feb 04 12:53:15:511] [lotusnotesfp]
[5] [Feb 04 12:53:15:511] [lotusnotesfp] Else
[5] [Feb 04 12:53:15:511] [lotusnotesfp]
[5] [Feb 04 12:53:15:511] [lotusnotesfp] If
[5] [Feb 04 12:53:15:511] [lotusnotesfp] $ExitCode$ = "1641" <<< result false
[5] [Feb 04 12:53:15:511] [lotusnotesfp] ($ExitCode$ = "1641") <<< result false
[5] [Feb 04 12:53:15:511] [lotusnotesfp] Then
[5] [Feb 04 12:53:15:511] [lotusnotesfp]
[5] [Feb 04 12:53:15:511] [lotusnotesfp] Else
[5] [Feb 04 12:53:15:511] [lotusnotesfp]
[5] [Feb 04 12:53:15:511] [lotusnotesfp] If
[5] [Feb 04 12:53:15:512] [lotusnotesfp] $ExitCode$ = "3010" <<< result false
[5] [Feb 04 12:53:15:512] [lotusnotesfp] ($ExitCode$ = "3010") <<< result false
[5] [Feb 04 12:53:15:512] [lotusnotesfp] Then
[5] [Feb 04 12:53:15:512] [lotusnotesfp]
[5] [Feb 04 12:53:15:512] [lotusnotesfp] Else
[3] [Feb 04 12:53:15:512] [lotusnotesfp] Error: Fatal: Setup program gives an unknown exitcode unequal zero: 1619
[5] [Feb 04 12:53:15:512] [lotusnotesfp] Error level set to fatal
[5] [Feb 04 12:53:15:512] [lotusnotesfp] Process aborted
[6] [Feb 04 12:53:15:512] [lotusnotesfp]
[6] [Feb 04 12:53:15:512] [lotusnotesfp] ~~~~~~~ End Sub ~~~~~~~ Sub_check_exitcode
[6] [Feb 04 12:53:15:512] [lotusnotesfp]
[5] [Feb 04 12:53:15:512] [lotusnotesfp] Process aborted
[1] [Feb 04 12:53:15:512] [lotusnotesfp] ___________________
[1] [Feb 04 12:53:15:512] [lotusnotesfp] script finished
[1] [Feb 04 12:53:15:512] [lotusnotesfp] 1 error
[1] [Feb 04 12:53:15:513] [lotusnotesfp] 0 warnings
[1] [Feb 04 12:53:15:513] [lotusnotesfp]
[1] [Feb 04 12:53:15:513] [lotusnotesfp] installed product: lotusnotesfp Version: 8.5.2.4-1.1
[1] [Feb 04 12:53:15:513] [lotusnotesfp]
[6] [Feb 04 12:53:15:516] [lotusnotesfp] Delete "c:\opsi.org\tmp\_winstbat_*"
[6] [Feb 04 12:53:15:518] [lotusnotesfp] Search "c:\opsi.org\tmp\"
[5] [Feb 04 12:53:15:519] [lotusnotesfp] We do not look for a update script, because the setup script is failed
[6] [Feb 04 12:53:15:521] [lotusnotesfp] JSON service request https://10.0.1.30:4447/rpc productOnClient_updateObject
[6] [Feb 04 12:53:15:582] [lotusnotesfp] JSON Bench for productOnClient_updateObject "params":[{"clientId":"testpc.domain.local","action Start: 12:53:15:520 Time: 00:00:00:062
Re: winst GUI und Verteilung anderes Ergebnis
Anstatt setup.exe relativ aufzurufen würde ich es mal mit einem absolutem Pfad versuchen.
Code: Alles auswählen
%scriptpath%\setup.exe
Re: winst GUI und Verteilung anderes Ergebnis
Hey Stephan,
stimme meinem Vorredner zu. Ich verteile Notes 8.5.3 mit FP6 und kann sagen, dass das generell geht. Nur würde ich nicht die setup.exe direkt nehmen, dass funktioniert manchmal einfach nicht sauber. Entpacke das FP und rufe dann die ClientUpdate.msi direkt auf:
msiexec /i "ClientUpdate.msi" PROGDIR="$InstallDir$" DATADIR="$DatenVz$" /Lv* "$AnwendTemp$\NotesFP6Install.log" /qn
Das geht problemlos. Mein Scripte sind allerdings ziemlich umfangreich und recht speziell (Daten Ordner im Netzwerk, product properties für Auswahl Basis oder Standard, Full oder nur Client, etc...) daher poste ich die jetzt so nicht direkt hier, aber wenn du noch Fragen hast, dann sag Bescheid.
Und als Tip, besorg dir das NICE Tool (http://www-01.ibm.com/support/docview.w ... wg21459714) und mach dir ein Cleanup Paket ("%ScriptPath%\nice.exe" -qb -rp -rd -wipe). Wenn gar nix mehr hilft, wirste Notes auf der Maschine wenigstens komplett wieder los, um von vorne Anfangen zu können.
Lieber Gruß
Holger
stimme meinem Vorredner zu. Ich verteile Notes 8.5.3 mit FP6 und kann sagen, dass das generell geht. Nur würde ich nicht die setup.exe direkt nehmen, dass funktioniert manchmal einfach nicht sauber. Entpacke das FP und rufe dann die ClientUpdate.msi direkt auf:
msiexec /i "ClientUpdate.msi" PROGDIR="$InstallDir$" DATADIR="$DatenVz$" /Lv* "$AnwendTemp$\NotesFP6Install.log" /qn
Das geht problemlos. Mein Scripte sind allerdings ziemlich umfangreich und recht speziell (Daten Ordner im Netzwerk, product properties für Auswahl Basis oder Standard, Full oder nur Client, etc...) daher poste ich die jetzt so nicht direkt hier, aber wenn du noch Fragen hast, dann sag Bescheid.
Und als Tip, besorg dir das NICE Tool (http://www-01.ibm.com/support/docview.w ... wg21459714) und mach dir ein Cleanup Paket ("%ScriptPath%\nice.exe" -qb -rp -rd -wipe). Wenn gar nix mehr hilft, wirste Notes auf der Maschine wenigstens komplett wieder los, um von vorne Anfangen zu können.
Lieber Gruß
Holger
Wer mir einen Kaffee spendieren mag
, bitte gerne!
opsi PackageBuilder - Python Edition
opsibian-gen - RaspberryPi Image Generator mit opsi 4.1
Winst32 Preprocessor

opsi PackageBuilder - Python Edition
opsibian-gen - RaspberryPi Image Generator mit opsi 4.1
Winst32 Preprocessor
- SisterOfMercy
- Beiträge: 1556
- Registriert: 22 Jun 2012, 19:18
Re: winst GUI und Verteilung anderes Ergebnis
Using a verbose log can clear up a lot of confusion.
I am using folder redirection for 'my documents' and 'desktop', and this works well. However, some programs do not install correctly. This is because the default user also gets folder redirection, and somehow it makes a new user on installation. Desktop refers to K:\Desktop, which does not exist for the user created by opsi.
I use the following workaround:
I paste this in setup3264.ins and in uninstall3264.ins
And this is the shellfolders3264.ins
Of course these have only to be set for the current user! Then all references to mapped drives are gone and everything works. It can probably be shortened, but there are so many things about the registry reflection and redirection I don't know I like to separate it, so I'm sure what it does.
I am using folder redirection for 'my documents' and 'desktop', and this works well. However, some programs do not install correctly. This is because the default user also gets folder redirection, and somehow it makes a new user on installation. Desktop refers to K:\Desktop, which does not exist for the user created by opsi.
I use the following workaround:
I paste this in setup3264.ins and in uninstall3264.ins
Code: Alles auswählen
if FileExists("%ScriptPath%\shellfolders3264.ins")
comment "Set Shell Folders section"
Sub "%ScriptPath%\shellfolders3264.ins"
endif
Code: Alles auswählen
if ($INST_SystemType$ = "x86 System")
comment "Create local user folders"
Registry_shellfolders /32Bit
endif
if ($INST_SystemType$ = "64 Bit System")
comment "Create local user folders"
Registry_shellfolders /64Bit
endif
[Registry_shellfolders]
openkey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
set "AppData" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Application Data"
set "Desktop" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Desktop"
set "Favorites" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Favorites"
set "NetHood" = REG_EXPAND_SZ:"$LogDir$\pcpatch\NetHood"
set "Personal" = REG_EXPAND_SZ:"$LogDir$\pcpatch\My Documents"
set "PrintHood" = REG_EXPAND_SZ:"$LogDir$\pcpatch\PrintHood"
set "Programs" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Start Menu\Programs"
set "Recent" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Recent"
set "SendTo" = REG_EXPAND_SZ:"$LogDir$\pcpatch\SendTo"
set "Start Menu" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Start Menu"
set "Startup" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Start Menu\Programs\Startup"
set "Templates" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Templates"
set "Cookies" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Cookies"
set "My Pictures" = REG_EXPAND_SZ:"$LogDir$\pcpatch\My Documents\My Pictures"
set "Local Settings" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Local Settings"
set "Local AppData" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Local Settings\Application Data"
set "Cache" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Local Settings\Temporary Internet Files"
set "History" = REG_EXPAND_SZ:"$LogDir$\pcpatch\Local Settings\History"
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
Re: winst GUI und Verteilung anderes Ergebnis
@SisterOfMercy
Ok, das ist auch eine Möglichkeit. Ich simuliere einfach das fehlende Laufwerk mit der nachfolgenden Routine. Das hat den charmanten Vorteil, dass ich einfach eine product property anlege, in die ich den Pfad schreibe, und wenn nötig, wird mit dazu ein Laufwerk generiert, oder auch nicht, wenn der Pfad lokal ist. Ich muss mich da um nix kümmern.
Ständig die Registry zu verbiegen ist nicht so mein Ding....
Ok, das ist auch eine Möglichkeit. Ich simuliere einfach das fehlende Laufwerk mit der nachfolgenden Routine. Das hat den charmanten Vorteil, dass ich einfach eine product property anlege, in die ich den Pfad schreibe, und wenn nötig, wird mit dazu ein Laufwerk generiert, oder auch nicht, wenn der Pfad lokal ist. Ich muss mich da um nix kümmern.
Ständig die Registry zu verbiegen ist nicht so mein Ding....
Code: Alles auswählen
DefVar $propPath$
DefVar $lwPath$
DefVar $simuLW$
; if <path> is not accessible, it will be created as a temp. network drive
; first, get property value
Set $propPath$ = GetProductProperty("<property_name>", "<path>")
; extract drive letter
Set $lwPath$ = strPart($propPath$,"1","2")
comment "Simulate path drives, if necessary"
set $simuLW$ = $lwPath$
if Not (isDriveReady($lwPath$))
If FileExists("C:\SimuLW_sim_path")
; remove, if previously not removed
DosInAnIcon_stopSimuLW sim_path
Endif
DosInAnIcon_startSimuLW sim_path
endif
; ----------------------------------------------------------------------------------------------------------------------------------------
; your code....
; ----------------------------------------------------------------------------------------------------------------------------------------
comment "Remove drive simulation(s)"
If FileExists("C:\SimuLW_sim_path")
; remove
DosInAnIcon_stopSimuLW $lwPath$ sim_path
Endif
; ----------------------------------------------------------------------------------------------------------------------------------------
; u need: DefVar $simuLW$
; call it: DosInAnIcon_startSimuLW O: LW_O -> creates C:\SimuLW_LW_O and Share \\127.0.0.1\LW_O and net drive O:
; set $simuLW$ to drive Letter, i .e set $simuLW$ = "O:"
[DosInAnIcon_startSimuLW]
net use $simuLW$ /delete /YES
sleep 20
md "C:\SimuLW_%1"
net share %1="C:\SimuLW_%1" /USERS:10 /GRANT:Jeder,FULL /REMARK:"Dummy-LW" /CACHE:None
net use $simuLW$ \\127.0.0.1\%1 /PERSISTENT:NO
; call it: DosInAnIcon_stopSimuLW O: LW_O -> removes net drive O: and removes C:\SimuLW_LW_O
[DosInAnIcon_stopSimuLW]
net use $simuLW$ /delete /YES
sleep 10
NET share %1 /DELETE /y
sleep 10
rd "C:\SimuLW_%1" /s /q
Wer mir einen Kaffee spendieren mag
, bitte gerne!
opsi PackageBuilder - Python Edition
opsibian-gen - RaspberryPi Image Generator mit opsi 4.1
Winst32 Preprocessor

opsi PackageBuilder - Python Edition
opsibian-gen - RaspberryPi Image Generator mit opsi 4.1
Winst32 Preprocessor
- SisterOfMercy
- Beiträge: 1556
- Registriert: 22 Jun 2012, 19:18
Re: winst GUI und Verteilung anderes Ergebnis
But what if you have multiple directories you need access to?pandel hat geschrieben:Ok, das ist auch eine Möglichkeit. Ich simuliere einfach das fehlende Laufwerk mit der nachfolgenden Routine. Das hat den charmanten Vorteil, dass ich einfach eine product property anlege, in die ich den Pfad schreibe, und wenn nötig, wird mit dazu ein Laufwerk generiert, oder auch nicht, wenn der Pfad lokal ist. Ich muss mich da um nix kümmern.
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
Re: winst GUI und Verteilung anderes Ergebnis
@stephan.wild
Sorry für's Kapern deines Thread
... Bist du weitergekommen oder hast du zumindest rausgefunden, woher die Meldung rührt?
@SisterOfMercy
Ich hoffe, ich hab dich richtig verstanden.... Es geht mir NUR um das Laufwerk an dieser Stelle. Wenn ich dein Beispiel nehme, "K:\Desktop", dann wird es vielleicht noch "K:\My Documents", usw. geben. Dafür brauche ich ja dann nur ein einziges gefaktes Laufwerk. Wenn auf diesem Laufwerk Unterordner nötig sind, lege ich die also kurzerhand an und lasse nachher alles in Summe wieder verschwinden. (Hat zusätzlich den Vorteil, wenn die Installation irgendwo hängen bleibt, habe ich die Überreste in den Ordnern noch zur Analyse übrig.)
Solltest du aber mehrere, unterschiedliche Laufwerke brauchen, kannst du ja einfach DosInAnIcon_startSimuLW mehrfach aufrufen. Ich zeige es dir an einem Beispiel, was ich auch so benutze:
Der entscheidende Vorteil dabei ist: für die zwei Pfade, die ich benötige, kann ich beliebige Werte wählen und mir wird bei der Installation immer das passende zur Verfügung gestellt, sei es Netz oder lokal. Da muss ich mir einfach keine Gedanken mehr machen, egal wie das Paket später im configed parametriert wird. Die Anlage konkreter Verzeichnisse erfolgt dann in Files_create_paths, da kann ich natürlich so viele Pfade anlegen, wie ich will. Die sind nachher eh wieder weg...
Sorry für's Kapern deines Thread

@SisterOfMercy
Ich hoffe, ich hab dich richtig verstanden.... Es geht mir NUR um das Laufwerk an dieser Stelle. Wenn ich dein Beispiel nehme, "K:\Desktop", dann wird es vielleicht noch "K:\My Documents", usw. geben. Dafür brauche ich ja dann nur ein einziges gefaktes Laufwerk. Wenn auf diesem Laufwerk Unterordner nötig sind, lege ich die also kurzerhand an und lasse nachher alles in Summe wieder verschwinden. (Hat zusätzlich den Vorteil, wenn die Installation irgendwo hängen bleibt, habe ich die Überreste in den Ordnern noch zur Analyse übrig.)
Solltest du aber mehrere, unterschiedliche Laufwerke brauchen, kannst du ja einfach DosInAnIcon_startSimuLW mehrfach aufrufen. Ich zeige es dir an einem Beispiel, was ich auch so benutze:
Code: Alles auswählen
DefVar $propMandantPath$
DefVar $propMusterPath$
DefVar $lwMandant$
DefVar $lwMuster$
DefVar $simuLW$
; ----------------------------------------------------------------
Set $propMandantPath$ = GetProductProperty("mandanten_pfad", "O:\bnk\vbngbb\Mandanten")
Set $lwMandant$ = strPart($propMandantPath$,"1","2")
Set $propMusterPath$ = GetProductProperty("muster_pfad", "C:\Mustervorlagen")
Set $lwMuster$ = strPart($propMusterPath$,"1","2")
; ----------------------------------------------------------------
comment "Simulate mandant network drives, if necessary"
set $simuLW$ = $lwMandant$
if Not (isDriveReady($lwMandant$))
If FileExists("C:\SimuLW_sim_mandant")
; remove, if aborted install
DosInAnIcon_stopSimuLW sim_mandant
Endif
DosInAnIcon_startSimuLW sim_mandant
endif
comment "Simulate muster network drives, if necessary"
set $simuLW$ = $lwMuster$
if Not (isDriveReady($lwMuster$))
If FileExists("C:\SimuLW_sim_muster")
; remove, if aborted install
DosInAnIcon_stopSimuLW sim_muster
Endif
DosInAnIcon_startSimuLW sim_muster
endif
comment "Create data paths, if not available"
Files_create_paths
; -------------------------------------------------------
; do something
; -------------------------------------------------------
comment "Remove drive simulation(s)"
If FileExists("C:\SimuLW_sim_mandant")
; remove, if aborted install
DosInAnIcon_stopSimuLW $lwMandant$ sim_mandant
Endif
If FileExists("C:\SimuLW_sim_muster")
; remove, if aborted install
DosInAnIcon_stopSimuLW $lwMuster$ sim_muster
endif
[Files_create_paths]
CheckTargetPath = $propMandantPath$
CheckTargetPath = $propMusterPath$
; u need: DefVar $simuLW$
; call it: DosInAnIcon_startSimuLW O: LW_O -> creates C:\SimuLW_LW_O and Share \\127.0.0.1\LW_O and net drive O:
; set $simuLW$ to drive Letter, i .e set $simuLW$ = "O:"
[DosInAnIcon_startSimuLW]
net use $simuLW$ /delete /YES
"%ScriptPath%\scripts\sleep.exe" 20
md "C:\SimuLW_%1"
net share %1="C:\SimuLW_%1" /USERS:10 /GRANT:Jeder,FULL /REMARK:"Dummy-LW" /CACHE:None
net use $simuLW$ \\127.0.0.1\%1 /PERSISTENT:NO
; call it: DosInAnIcon_stopSimuLW O: LW_O -> removes net drive O: and removes C:\SimuLW_LW_O
[DosInAnIcon_stopSimuLW]
net use $simuLW$ /delete /YES
"%ScriptPath%\scripts\sleep.exe" 10
NET share %1 /DELETE /y
"%ScriptPath%\scripts\sleep.exe" 10
rd "C:\SimuLW_%1" /s /q
Wer mir einen Kaffee spendieren mag
, bitte gerne!
opsi PackageBuilder - Python Edition
opsibian-gen - RaspberryPi Image Generator mit opsi 4.1
Winst32 Preprocessor

opsi PackageBuilder - Python Edition
opsibian-gen - RaspberryPi Image Generator mit opsi 4.1
Winst32 Preprocessor