Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Prüfen ob Prozess läuft


4 replies to this topic

HIL-LER

HIL-LER
  • Full Members
  • 17 posts

Posted 22 December 2008 - 20:54

Hallo,

bei unserem Installprojekt ist es so dass wir vor dem Update bestimmte Dateien löschen.
Zu diesen Dateien gehören auch 2 *.ocx Dateien.
Da wir mit einer automatischen Softwareverteilung arbeiten.
Hier der befehl der in der Nacht auf dem Client ausgeführt wird.
(setup.exe /s /v "/qn /log C:\install.log“)

Jetzt das Problem

Wenn kein User im Programm ist alles O.K.
Befindet sich aber ein User im Programm läuft das Setup durch.
Nach dem neustart des Rechners sind die beiden ocx Dateien weg vor dem neustart noch da.

In der log Datei steht folgendes.

Information 1603.
Die Datei C:\[INSTALLDIR]\L***.ocx wird im Augenblick verwendet vom folgenden Prozess:
Name: Myprog, ID: 3652, Fenstertitel: "(not determined yet)".
Schließen Sie diese Anwendung und wiederholen Sie den Vorgang.

Information 1903. Planung des Computer-Neustarts:
Die Datei C:\[INSTALLDIR]\L***.ocx wird gelöscht.
Der Computer muss neu gestartet werden, um den Vorgang abzuschließen.

Jetzt meine frage

Wie kann ich prüfen ob der Prozess noch läuft und
das Setup mit Desktopmeldung abbrechen die durch den User
bestätigt werden muss?

ali

ali
  • Full Members
  • 1,008 posts

Posted 23 December 2008 - 11:07

Hallo,
ich prüfe per Script ob die Dateien die ich erstetzen möchte im Zugriff sind und dieser einer Liste zur Auswertung zufügt. Hier ein Ausschnitt mit dem wesentlichen:

if Is(PATH_EXISTS,svTargetDir) then
//Verzeichnis mit zu aktualisierenden Programm-Dateien existiert
//Prüfung auf gesperrte Komponenten
nvResult=FindAllFiles(svTargetDir,"*.*",svResult,RESET);
while (nvResult=0)
if Is(FILE_LOCKED, svResult) then
ListAddString(listID, svResult, AFTER);
SprintfMsiLog ( "%s : Die Komponente ist für den Zugriff gesperrt" , svResult);
endif;
nvResult=FindAllFiles(svTargetDir,"*.*",svResult,CONTINUE);
endwhile;
FindAllFiles(svTargetDir,"*.*",svResult,CANCEL);
endif;

ali

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 23 December 2008 - 11:08

Du fürhst das Setup im Silent-Modus aus, deshalb wird kein Dialog angezeigt. Wenn du Dialoge sehen willst, wähle einen anderen User Interface Level als /qn, z.B. /qb oder /qb! (mit ! wird der Cancel-Button entfernt)

HIL-LER

HIL-LER
  • Full Members
  • 17 posts

Posted 23 December 2008 - 12:38

Hallo,

wenn ich den Silent-Modus mit /qb! startet.
Und das Programm noch offen ist kommt der
Hinweis.
In diesem Fenster gibt es 3 Buttons
1. Abbrechen
2. Wiederholen
3. Ignorieren

Habe ich irgenwie die möglichkeit 3. auszublenden
oder zu deaktivieren ??


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 30 December 2008 - 19:43

Nicht das ich wüsste. Wenn der Anwender das betreffende Programm nicht beenden kann ist Ignorieren sogar die einzige Möglichkeit um das Setup fortzusetzen. Das erfordert dann natürlich einen Reboot.