Hallo,
ich habe ein kleines Problem mit dieser Funktion.
Ich muss eine Datei aus einer .exe-Datei installieren, für die ich den Parameter `/verysilent` für die unbeaufsichtigte Installation angeben muss.
Da die Funktion `install_exe_if_needed` scheinbar keine Parameter (wie `install_msi_if_needed` mit Eigenschaften) zulässt, verwende ich `run_as_administrator(myfile.exe, params="/verysilent")`.
Anschließend muss ich Dateien in das Installationsverzeichnis kopieren, daher muss die Installation abgeschlossen sein, damit der Kopierpfad existiert. Deshalb verwende ich `wait_uninstallkey_present()` mit dem Deinstallationsschlüssel.
Schließlich muss ich eine .exe-Datei im Installationsverzeichnis starten, um den Dienst auf dem PC zu starten.
Da diese .exe-Datei keinen Exit-Code zurückgibt, verwende ich `run_nofatal()`, um einen Fehler zu vermeiden.
Mein Problem ist, dass meine .exe-Datei korrekt ausgeführt wird, da der Dienst auf meinem Rechner erscheint, aber die Ausgabe `print("starting OK")`, die ich direkt danach hinzufüge, wird nie angezeigt. Daher wird die Installation nie abgeschlossen.
Ist es nicht gerade der Zweck dieser Funktion, ausgeführt zu werden und zu beenden, ohne auf irgendetwas zu warten?
[GELÖST] run_nofatal() wird nie beendet
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
- Sfonteneau
- WAPT-Experte
- Nachrichten: 2322
- Registriert: 10. Juli 2014 - 23:52 Uhr
- Kontakt:
Sie können Ihre setup.py-Datei senden; das ist einfachersebastien4444 schrieb: ↑7. Juni 2024 - 17:58 Uhr Da die Funktion install_exe_if_needed das Hinzufügen von Parametern scheinbar nicht zulässt (wie es die Funktion install_msi_if_needed mit Eigenschaften tut), verwende ich run_as_administrator(myfile.exe, params="/verysilent").
und falls install_exe_if_need das Hinzufügen eines Arguments mit silentflags erlaubt:
Beispiel mit VLC:
Code: Alle auswählen
install_exe_if_needed("vlcsetup.exe",silentflags="/S",key="VLC media player",min_version="3.0.20")run_as_administrator sollte in Paketen nicht verwendet werden, da wapt ein Systemkonto startet und daher unnötig ist.
Verwenden Sie einfach den Befehl „run“
-
sebastien4444
- Nachrichten: 22
- Anmeldung: 14. September 2023 - 08:53 Uhr
Hallo,
vielen Dank für Ihr Feedback.
Tatsächlich ist mir während der Installation der Parameter für die automatische Ausführung in `install_exe_if_needed` nicht aufgefallen.
Das löst jedoch nicht mein Problem mit dem Starten der .exe-Datei.
Wenn ich `run()` anstelle von `run_as_administrator()` verwende, startet mein Dienst zwar (genau wie bei `run_nofatal`), aber die Skriptausführung bleibt an dieser Stelle hängen und wird daher nicht abgeschlossen. (Wenn ich das Paket also unverändert erstelle und auf einem PC bereitstelle, wird die Installation nie abgeschlossen.)
Vielen Dank im Voraus für Ihre Hilfe.
vielen Dank für Ihr Feedback.
Tatsächlich ist mir während der Installation der Parameter für die automatische Ausführung in `install_exe_if_needed` nicht aufgefallen.
Das löst jedoch nicht mein Problem mit dem Starten der .exe-Datei.
Wenn ich `run()` anstelle von `run_as_administrator()` verwende, startet mein Dienst zwar (genau wie bei `run_nofatal`), aber die Skriptausführung bleibt an dieser Stelle hängen und wird daher nicht abgeschlossen. (Wenn ich das Paket also unverändert erstelle und auf einem PC bereitstelle, wird die Installation nie abgeschlossen.)
Vielen Dank im Voraus für Ihre Hilfe.
- Sfonteneau
- WAPT-Experte
- Nachrichten: 2322
- Registriert: 10. Juli 2014 - 23:52 Uhr
- Kontakt:
Sie können Ihre setup.py-Datei senden; das ist einfacher 
-
sebastien4444
- Nachrichten: 22
- Anmeldung: 14. September 2023 - 08:53 Uhr
Guten Morgen,
So sieht es aus:
Die Software installiert sich, die Konfigurationsdatei wird korrekt kopiert, der Dienst startet korrekt, aber die Ausgabe "Service started" wird nie erreicht und das Skript wird erst nach dem Timeout beendet (und daher mit einem Fehler).
So sieht es aus:
Code: Alle auswählen
from setuphelpers import *
def install():
install_exe = "UltraVNC Installer.exe"
config_file = "ultravnc.ini"
install_path = makepath("C:","Program Files","uvnc bvba","UltraVNC")
service_path = makepath("C:","Program Files","uvnc bvba","UltraVNC","winvnc.exe")
install_exe_if_needed(install_exe, , silentflags="/verysilent", key="Ultravnc2_is1")
print("VNC installé")
filecopyto(config_file, install_path)
print("Config copiée")
run(service_path)
print("Service lancé")
- dcardon
- WAPT-Experte
- Nachrichten: 1953
- Anmeldung: 18. Juni 2014 - 09:58 Uhr
- Ort: Saint Sébastien sur Loire
- Kontakt:
Hallo Sébastien,
es ist sehr wahrscheinlich, dass die Ausführung von „winvnc.exe“ nicht die Kontrolle zurückgibt (es läuft also nicht als Dienst), und daher gibt die Funktion `run()` keine Kontrolle zurück. Nach dem Timeout wird die ausführbare Datei „winvnc.exe“ beendet, und das Paket stößt auf einen Fehler.
Es gibt vermutlich eine Möglichkeit, winvnc als Dienst zu deklarieren und entsprechend auszuführen, um dieses Problem zu vermeiden.
Viele Grüße,
Denis
es ist sehr wahrscheinlich, dass die Ausführung von „winvnc.exe“ nicht die Kontrolle zurückgibt (es läuft also nicht als Dienst), und daher gibt die Funktion `run()` keine Kontrolle zurück. Nach dem Timeout wird die ausführbare Datei „winvnc.exe“ beendet, und das Paket stößt auf einen Fehler.
Es gibt vermutlich eine Möglichkeit, winvnc als Dienst zu deklarieren und entsprechend auszuführen, um dieses Problem zu vermeiden.
Viele Grüße,
Denis
Denis Cardon – Tranquil IT
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
-
sebastien4444
- Nachrichten: 22
- Anmeldung: 14. September 2023 - 08:53 Uhr
Hallo,
vielen Dank für Ihre Antwort.
Ja, genau das ist es: Sobald der Fehler auftritt, stoppt das Programm.
Ich habe verschiedene Python-Funktionen aus unterschiedlichen Bibliotheken ausprobiert, die die Ausführung von Dateien ermöglichen, aber das ändert nichts.
Seltsamerweise tritt das Problem nicht auf, wenn ich winvnc.exe über die Eingabeaufforderung starte: Das Programm startet, die Eingabeaufforderung erscheint fast sofort, und das Programm läuft weiter.
Ich dachte, Ausführungsfunktionen in Python wären dasselbe wie das Starten eines CMD-Befehls.
Na ja, ich versuche es anders. Nochmals vielen Dank.
vielen Dank für Ihre Antwort.
Ja, genau das ist es: Sobald der Fehler auftritt, stoppt das Programm.
Ich habe verschiedene Python-Funktionen aus unterschiedlichen Bibliotheken ausprobiert, die die Ausführung von Dateien ermöglichen, aber das ändert nichts.
Seltsamerweise tritt das Problem nicht auf, wenn ich winvnc.exe über die Eingabeaufforderung starte: Das Programm startet, die Eingabeaufforderung erscheint fast sofort, und das Programm läuft weiter.
Ich dachte, Ausführungsfunktionen in Python wären dasselbe wie das Starten eines CMD-Befehls.
Na ja, ich versuche es anders. Nochmals vielen Dank.
- dcardon
- WAPT-Experte
- Nachrichten: 1953
- Anmeldung: 18. Juni 2014 - 09:58 Uhr
- Ort: Saint Sébastien sur Loire
- Kontakt:
Hallo Sébastien,
hast du dir schon das Paket in unserem Store angesehen
: https://wapt.tranquil.it/store/en/detai ... _PROD.wapt?
Wenn du es als Dienst ausführen möchtest, ist das die beste Methode.
Falls du hingegen das Verhalten eines im Hintergrund ausgeführten Befehls nachbilden möchtest, kannst du dir den Befehl „start“ in der Kommandozeile ansehen.
Viele Grüße,
Denis
hast du dir schon das Paket in unserem Store angesehen
: https://wapt.tranquil.it/store/en/detai ... _PROD.wapt?
Wenn du es als Dienst ausführen möchtest, ist das die beste Methode.
Falls du hingegen das Verhalten eines im Hintergrund ausgeführten Befehls nachbilden möchtest, kannst du dir den Befehl „start“ in der Kommandozeile ansehen.
Viele Grüße,
Denis
Denis Cardon – Tranquil IT
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
-
sebastien4444
- Nachrichten: 22
- Anmeldung: 14. September 2023 - 08:53 Uhr
Super, danke!
Beim Blick in die setup.py-Datei Ihres Pakets habe ich gesehen, dass ich den Parameter "-install" zur Ausführung von winvnc.exe hinzufügen musste (was eigentlich in der UltraVNC-Dokumentation "Command Line" steht, aber ich hatte es übersehen
).
Beim Blick in die setup.py-Datei Ihres Pakets habe ich gesehen, dass ich den Parameter "-install" zur Ausführung von winvnc.exe hinzufügen musste (was eigentlich in der UltraVNC-Dokumentation "Command Line" steht, aber ich hatte es übersehen
- dcardon
- WAPT-Experte
- Nachrichten: 1953
- Anmeldung: 18. Juni 2014 - 09:58 Uhr
- Ort: Saint Sébastien sur Loire
- Kontakt:
Hallo Sébastien,
vielen Dank für dein Feedback
. Schön, dass du eine Lösung gefunden hast.
Erzähl ruhig weiter von WAPT; es verbreitet sich auch durch Mundpropaganda sehr gut
!
Beste Grüße,
Denis
vielen Dank für dein Feedback
Erzähl ruhig weiter von WAPT; es verbreitet sich auch durch Mundpropaganda sehr gut
Beste Grüße,
Denis
Denis Cardon – Tranquil IT
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
