Hallo,
ich habe ein Problem mit shell execute und Windows 11
In einem VB6 Projekt muss ich von Zeit zu Zeit grössere Migrationen oder Datenbank-Updates durchführen.
Damit der Anwender (mit EInschränkung der betroffenen Bereiche) weiter die App nutzen kann, starte ich im folgende Falle die Anwendung ein 2. mal (aus der Hauptanwendung) mit einem Befehlszeilenparameter:
Das funktioniert bis WIndows 10 auch einwandfrei.
Unabhängig davon, ob die Hauptanwendung noch läuft oder mittlerweile geschlossen wurde bleibt die /MIGRATE sichtbar und kann am Ende manuell geschlossen werden.
Nun habe ich mit WIndows 11 folgendes Problem:
Sollte der Anwender die Hauptanwendung(aufrufende) schliessen bevor die Migration beendet ist, so werden alle Forms der /MIGRATE .exe unsichtbar.
Im task-manager verschwinden alle Verweise auf die xxxxxx.exe aus dem apps-Bereich und man sieht nur unter Hintergrundprozesse noch eine xxxxxx.exe laufen (welches die /MIGRTAE .exe ist).
Jegliche "sichtbare" Spur der Anwendung auf dem Desktop ist verschwunden, auch von der Anwendung neu aufgerufene Fenster bleiben unsichtbar.
Allerdings läuft die app bis zum Ende durch (sehe ich z.B. in der Datenbank, wie am Ende Einstellungen in die Versions-Tabelle geschrieben werden, auch alle Daten migirieren sauber durch) und bleibt dann in der unsichtbaren manuellen Beenden-Abfrage auf ewig hängen, wenn man den Hintergrundprozess nicht manuell tötet im task-manager oder den Rechner neu startet.
Hierzu nun 2 Fragen:
- gibt es einen Parameter im shell execute, um das parent-child Verhältnis zu umgehen und die /MIGRATE xxxxxx.exe als eigenständige app zu starten ?
- hat jemand alternative Idee, dieses Problem zu lösen ?
Info:
Die Sourcen sind z.T. über 30 Jahre alt, es ist eine Software die in der sogenannten systemkritischen Infrastruktur läuft und mangels von .net nicht mehr unterstützten Komponenten/Verweise ist eine Umsetzung auf .net o.ä. nicht möglich.
Es ist leider keine Option hier in irgendeiner Form auf ein modernes framework zu wechseln, neu coden fällt aufgrund der Größe des Projekts und fehlender hardware Unterstützung auch aus.
Vielen Dank vorab für Eure Antworten.
MfG Mabbi
ich habe ein Problem mit shell execute und Windows 11
In einem VB6 Projekt muss ich von Zeit zu Zeit grössere Migrationen oder Datenbank-Updates durchführen.
Damit der Anwender (mit EInschränkung der betroffenen Bereiche) weiter die App nutzen kann, starte ich im folgende Falle die Anwendung ein 2. mal (aus der Hauptanwendung) mit einem Befehlszeilenparameter:
Das funktioniert bis WIndows 10 auch einwandfrei.
Unabhängig davon, ob die Hauptanwendung noch läuft oder mittlerweile geschlossen wurde bleibt die /MIGRATE sichtbar und kann am Ende manuell geschlossen werden.
Nun habe ich mit WIndows 11 folgendes Problem:
Sollte der Anwender die Hauptanwendung(aufrufende) schliessen bevor die Migration beendet ist, so werden alle Forms der /MIGRATE .exe unsichtbar.
Im task-manager verschwinden alle Verweise auf die xxxxxx.exe aus dem apps-Bereich und man sieht nur unter Hintergrundprozesse noch eine xxxxxx.exe laufen (welches die /MIGRTAE .exe ist).
Jegliche "sichtbare" Spur der Anwendung auf dem Desktop ist verschwunden, auch von der Anwendung neu aufgerufene Fenster bleiben unsichtbar.
Allerdings läuft die app bis zum Ende durch (sehe ich z.B. in der Datenbank, wie am Ende Einstellungen in die Versions-Tabelle geschrieben werden, auch alle Daten migirieren sauber durch) und bleibt dann in der unsichtbaren manuellen Beenden-Abfrage auf ewig hängen, wenn man den Hintergrundprozess nicht manuell tötet im task-manager oder den Rechner neu startet.
Hierzu nun 2 Fragen:
- gibt es einen Parameter im shell execute, um das parent-child Verhältnis zu umgehen und die /MIGRATE xxxxxx.exe als eigenständige app zu starten ?
- hat jemand alternative Idee, dieses Problem zu lösen ?
Info:
Die Sourcen sind z.T. über 30 Jahre alt, es ist eine Software die in der sogenannten systemkritischen Infrastruktur läuft und mangels von .net nicht mehr unterstützten Komponenten/Verweise ist eine Umsetzung auf .net o.ä. nicht möglich.
Es ist leider keine Option hier in irgendeiner Form auf ein modernes framework zu wechseln, neu coden fällt aufgrund der Größe des Projekts und fehlender hardware Unterstützung auch aus.
Vielen Dank vorab für Eure Antworten.
MfG Mabbi
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mabbi“ ()