bat Abhandlung für Silent Deploy (Desktop Central)
Liebe Admins,
ich hab hier ein einfaches Script einer Installationsroutine von ePlan (eine Planungssoftware). Diese schmeißt mir nach Konfiguration mit eigenem Customization Tool folgendes in eine .bat:
@echo off
FOR /F "tokens=2*" %%C IN ('%windir%\system32\REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName') DO SET BS=%%D
FOR /F "tokens=2*" %%A IN ('%windir%\system32\REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion') DO SET CV=%%B
if "%PROCESSOR_ARCHITECTURE%"=="x86" (goto X86) else (goto X64)
:X64
set "ESS_USERPROFILE=C:\Users\Public"
set "ESS_Path=%ProgramFiles%"
set "ESS_EECONEPath=%ProgramFiles%"
set "ESS_BITF= (X64)"
set "ESS_BITM= (X64)"
set "ESS_USERPROFILE=C:\Users\Public"
set "BSB=64 Bit"
goto BSF
:X86
set "BSB=32 Bit"
goto UXP
:BSF
if "%CV%"=="5.1" (goto UXP)
if "%CV%"=="5.2" (goto UXP)
if "%CV%"=="6.0" (goto UXP)
if "%CV%"=="6.1" (goto UW8)
if "%CV%"=="6.2" (goto UW8)
if "%CV%"=="6.3" (goto UW8)
:UXP
echo The operating system %BS% %BSB% is no longer supported by the EPLAN platform ! For more details, please see the News of the EPLAN version
REM Pause
Exit
:UW8
set "MSIE=%windir%\System32\msiexec.exe /i "
@echo on
"\\Netzwerkpfad\ePlanv2.6\Electric P8 2.6.3.10395\License Client (Win32)\setup.exe" /q /L 1031
usw. (noch 3 Pakete, setup.exe und .msi
Ich kann die .bat über elevated cmd ausführen und die Abarbeitung erfolgt problemlos. Wenn ich dieses .bat jedoch über mein Deploy Tool aus dem Repository starte, bekomme ich eine Fehlermeldung siehe Anhang. Vergesse ich hier irgendwelche Argumente?
ich hab hier ein einfaches Script einer Installationsroutine von ePlan (eine Planungssoftware). Diese schmeißt mir nach Konfiguration mit eigenem Customization Tool folgendes in eine .bat:
@echo off
FOR /F "tokens=2*" %%C IN ('%windir%\system32\REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName') DO SET BS=%%D
FOR /F "tokens=2*" %%A IN ('%windir%\system32\REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion') DO SET CV=%%B
if "%PROCESSOR_ARCHITECTURE%"=="x86" (goto X86) else (goto X64)
:X64
set "ESS_USERPROFILE=C:\Users\Public"
set "ESS_Path=%ProgramFiles%"
set "ESS_EECONEPath=%ProgramFiles%"
set "ESS_BITF= (X64)"
set "ESS_BITM= (X64)"
set "ESS_USERPROFILE=C:\Users\Public"
set "BSB=64 Bit"
goto BSF
:X86
set "BSB=32 Bit"
goto UXP
:BSF
if "%CV%"=="5.1" (goto UXP)
if "%CV%"=="5.2" (goto UXP)
if "%CV%"=="6.0" (goto UXP)
if "%CV%"=="6.1" (goto UW8)
if "%CV%"=="6.2" (goto UW8)
if "%CV%"=="6.3" (goto UW8)
:UXP
echo The operating system %BS% %BSB% is no longer supported by the EPLAN platform ! For more details, please see the News of the EPLAN version
REM Pause
Exit
:UW8
set "MSIE=%windir%\System32\msiexec.exe /i "
@echo on
"\\Netzwerkpfad\ePlanv2.6\Electric P8 2.6.3.10395\License Client (Win32)\setup.exe" /q /L 1031
usw. (noch 3 Pakete, setup.exe und .msi
Ich kann die .bat über elevated cmd ausführen und die Abarbeitung erfolgt problemlos. Wenn ich dieses .bat jedoch über mein Deploy Tool aus dem Repository starte, bekomme ich eine Fehlermeldung siehe Anhang. Vergesse ich hier irgendwelche Argumente?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 343634
Url: https://administrator.de/contentid/343634
Ausgedruckt am: 25.11.2024 um 14:11 Uhr
22 Kommentare
Neuester Kommentar
Sorry, die Frage war ja nun überflüssig, wenn man das Skript sieht - es ist also ein Pull.
NImm das Systemkonto. Nachdem du die Berechtigungen wie zuvor benannt angepasst hast, wird das laufen.
Domänenadmins nimmt man immer nur zur Domänenadministration serverseitig und nicht clientseitig. Gefährlich deshalb, weil sonst die Kennwörter oder Kennworthashes dieser Superadmins in falsche Hände geraten können. Ds sollte man ruhig sehr ernst nehmen.
NImm das Systemkonto. Nachdem du die Berechtigungen wie zuvor benannt angepasst hast, wird das laufen.
Domänenadmins nimmt man immer nur zur Domänenadministration serverseitig und nicht clientseitig. Gefährlich deshalb, weil sonst die Kennwörter oder Kennworthashes dieser Superadmins in falsche Hände geraten können. Ds sollte man ruhig sehr ernst nehmen.
Hallo,
Dann passen die Parameter halt nicht zur Installationsroutine Deiner Software.
Kann die Software ueberhaupt silent installiert werden? Hersteller gefragt?
BFF
Was mir aufgefallen ist: So wirklich silent scheint es aber sowieso nicht zu sein. Wenn ich per cmd die bat aufrufe führt er die Installationen zwar selbstständig durch, die install shield Fenster erscheinen aber dennoch für den User sichtbar trotz aller Argumente /qn /l usw.
Dann passen die Parameter halt nicht zur Installationsroutine Deiner Software.
Kann die Software ueberhaupt silent installiert werden? Hersteller gefragt?
BFF
Mit System User bekomme ich eben für jeden Teil des Scripts den obigen Fehler.
Ja, weil Du meinen Rat nicht befolgst und die Zugriffsrechte auf das Installationspaket nicht anpasst.So wirklich silent scheint es aber sowieso nicht zu sein. Wenn ich per cmd die bat aufrufe führt er die Installationen zwar selbstständig durch, die install shield Fenster erscheinen aber dennoch für den User sichtbar trotz aller Argumente /qn /l usw.
Es gibt bei manchen Installern eine Unterscheidung silent/verysilent. Letzteres wäre "ohne alles", Ersteres ist noch mit sichtbaren Dialogen, die aber automatisch ablaufen. Vielleicht wird hier "verysilent" einfach nicht unterstützt - kein Grund zur Sorge.
Du machst nun mal folgendes: nimm Dir einen Rechner, wo das Paket noch nicht drauf ist und melde Dich als Administrator an. Starte eine cmd elevated und führe dort aus:
psexec -s -i cmd
(psexec ist Teil der MS pstools - zuvor runterladen)
Psexec öffnet Dir nun eine Shell mit Systemrechten und von da aus kannst Du testen, sprich, das Setup mit der vorgesehenen Kommandozeile einmal starten.
Sinn der Übung: herausfinden, ob dieses eine Setup als Systemkonto normal durchläuft. In ganz seltenen Fällen laufen Setups eben nicht als Systemkonto.
psexec -s -i cmd
(psexec ist Teil der MS pstools - zuvor runterladen)
Psexec öffnet Dir nun eine Shell mit Systemrechten und von da aus kannst Du testen, sprich, das Setup mit der vorgesehenen Kommandozeile einmal starten.
Sinn der Übung: herausfinden, ob dieses eine Setup als Systemkonto normal durchläuft. In ganz seltenen Fällen laufen Setups eben nicht als Systemkonto.