![]() |
Delphi Silent Installation / EULA Abfrage umgehen
Liste der Anhänge anzeigen (Anzahl: 1)
leider kann Delphi 10.4. nicht wirklich eine silent Installation - die Abfrage nach der EULA ist ja weiterhin enthalten :-( ......
( ![]() Zitat:
Gibt es Tools , DOS Scripte, oder ????? die diese Abfrage automatisch umgehen können .... wir brauchen ein Batch Script welches ohne user interaktion auf wochenbasis Delphi ( und div. weitere Tools ) wirklich ohne Nachfragen installiert |
AW: Delphi Silent Installation / EULA Abfrage umgehen
Noch schlimmer ist der PAServer, bei dem geht praktisch garnichts, bezüglich einer automatischen Installation (und gerade da wäre sowas IMHO wichtiger)
Du könntest via Pipe (StdIn) versuchen das Y+Enter reinzugeben.
Code:
setup.exe < Datei_mit_Y+#13_drin
Kommt diese Eula-Abrage noch aus der Vorinstallaion (Inno-Setup) oder schon aus dem darin verwendeten GetIt? Letzteres hat ja eigentlich ein --accepteulas. Innosetup hatte, glaub ich, einen Parameter, womit man Paramater an die interne EXE weiterreichen kann. Alternativ, das Setup entpacken und dann selber die Dateien kopieren und mit RegEdit vorher bei einem Rechner das exportieren und hier nun importieren und paar Komponenten/DLLs registrieren. (siehe die .iss-Datei ... ungetestet, aber so viel wird da nicht gemacht) ![]() Im Prinzip kopiert das Setup nur den Basisteil (660MB) der IDE auf die Platte und der Rest wird dann via GetIt installiert siehe HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Embarcadero\BDS\21.0\CatalogRepository\Elements\* [add] Nimmst du /silent oder /verysilent ? Zitat:
|
AW: Delphi Silent Installation / EULA Abfrage umgehen
...wir brauchen ein Batch Script welches ohne user interaktion auf wochenbasis Delphi ( und div. weitere Tools ) wirklich ohne Nachfragen installiert"...
Würde ich über einen regelmäßigen Reset auf einen definierten "VM-Snapshot" bzw. Snapshot eines "HD Imagetools" realisieren. In Bildungseinrichtungen der absolute Standard, damit da im Idealfall täglich oder gar pro Unterrischtsstunde stets vorhersehbar die exalt gleichen System-Installationen aktiv sind. |
AW: Delphi Silent Installation / EULA Abfrage umgehen
Hallo,
vielleicht hilft InstallRite oder ähnliche Programme. ![]() ![]() muss als Admin ausgeführt werden. bzw. ![]() Gruß |
AW: Delphi Silent Installation / EULA Abfrage umgehen
Evtl. mittels AutoIT einen Mausklick auf den Button simulieren?
|
AW: Delphi Silent Installation / EULA Abfrage umgehen
"exalt gleichen" wäre es aber nur, wenn nur einmal installiert und dann der Snapshot der VM darauf zurückgesetzt wurde.
Eine Neuinstallation kann nur einen gleichen/ähnlichen Zustand herstellen, aber nicht den "Selben". |
AW: Delphi Silent Installation / EULA Abfrage umgehen
Zitat:
Damit kann genau das spielend leicht und vor allem in der Anwendung pfeilschnell umgesetzt werden. |
AW: Delphi Silent Installation / EULA Abfrage umgehen
In einem Versuch Embarcadero dazu zu bringen endlich aufzuwachen poste ich hier diesen Unfall eines Scripts, welches wir nutzen um Delphi mit Packer automatisiert zu installieren. Es handelt sich natürlich um einen Auszug (Rest dürfte selbsterklärend für Leute sein die schon mal ne Exe mit Powershell gestartet haben) der speziell mit WMI das neu gespawnte EULA Window sucht und mit Window Messages die Y-Taste verschickt.
/AcceptEULA ist ein gelöstes Problem im Setup-Bereich - verstehe einfach nicht Embarcadero das verkacken konnte.
Code:
Man muss PowerShell/dotnet natürlich verstehen aber ich glaube das sollte nicht das größte Problem sein.
$SetupProcess = Start-Process -FilePath $SetupPath -ArgumentList "$arguments" -PassThru -NoNewWindow
$Signature = @" [DllImport("kernel32.dll", SetLastError = true)] public static extern bool AttachConsole(uint dwProcessId); [DllImport("kernel32.dll")] public static extern IntPtr GetConsoleWindow(); [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)] public static extern bool FreeConsole(); [DllImport("user32.dll")] public static extern bool PostMessage(IntPtr hWnd, uint Msg, int wParam, int lParam); "@ Add-Type -Namespace Win32 -Name Funcs -MemberDefinition $Signature -PassThru | Out-Null $StartTime = Get-Date do { $TimeElapsed = $(Get-Date) - $StartTime if ($($TimeElapsed).TotalMinutes -ge 5) { Write-Output "Could not find EULA choice process after 5 minutes." throw } Start-Sleep -Seconds 1 $SetupProcessId = Get-WmiObject Win32_Process | Where-Object {$_.ProcessName -eq "Setup.tmp"} | Select-Object -ExpandProperty ProcessId $CmdProcessId = Get-WmiObject Win32_Process | Where-Object {$_.ParentProcessId -eq $SetupProcessId} | Select-Object -ExpandProperty ProcessId } until ($CmdProcessId -ne 0) $WM_KEYDOWN = 0x0100 $VK_Y_KEY = 0x59 [Win32.Funcs]::FreeConsole() | Out-Null [Win32.Funcs]::AttachConsole($CmdProcessId) | Out-Null $Handle = [Win32.Funcs]::GetConsoleWindow() [Win32.Funcs]::PostMessage($Handle, $WM_KEYDOWN, $VK_Y_KEY, 0) | Out-Null [Win32.Funcs]::FreeConsole() | Out-Null |
AW: Delphi Silent Installation / EULA Abfrage umgehen
wir brauchen ein script - Installation muss im Rahmen der wöchentlichen Neuinstallation von Docker Containern erfolgen
|
AW: Delphi Silent Installation / EULA Abfrage umgehen
Das ist doch ein Script :zwinker: (.ps1 aka Powershell)
Da sich Windows aber standardmäßig weigert Powershell-Scripte direkt auszuführen, kannst du die .ps1 nicht wie eine .bat oder .cmd starten, sondern mußt es direkt der powershell.exe geben, oder im Windows die Richtlinie ändern. ![]() Im Jira fragen betteln, ob die den fehlenden Parameter nicht mal einbauen können. Bis 2029 sollten sie es bestimmt schaffen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz