Hallo Zusammen
Ich habe das Problem, dass gewisse Files (vorallem DLLs) nicht von irgendwelche Prozessen sein dürfen und hab mich dann ein wenig durchs Forum gekämpft, leider ohne Erfolg...
Wie kann ich die Prozesse die die Files gerade lesen /schreiben oder what ever, im FilesInUse Dialog anzeigen? Ich check das irgendwie nicht...
Danke für eure Antwort(en)
Mit freundlichen Grüssen
Blueeberry
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.

Anwendung von FilesInUse Dialog
Started by
Blueeberry
, Jul 17 2009 16:11
3 replies to this topic
Posted 18 July 2009 - 10:05
Du kannst das gar nicht beeinflussen. MSI handelt dieses automatisch während der InstallValidate-Aktion. Es werden alle Prozesse ermittelt, die Dateien derzeitig in Verwendung haben, die vom Installationsprozess betroffen sind. Allerdings werden nur diejenigen im FilesInUse-Dialog angezeigt, die über ein sichtbares Fenster verfügen, einen Titel aufweisen und somit auch geschlossen werden können. Macht ja auch Sinn, denn was soll ein Prozess in der Liste angezeigt werden, der vom Benutzer nicht beendet werden kann.
Eine bessere Option besteht erst mit dem MSI 4.0 unter Windows Vista und höher. Hier findet sich eine neue Implementierung die als Restart-Manager bezeichnet wird. Dieser beendet Prozesse automatisch, so dass auch Prozesse ohne sichtbares Fenster, Dienste etc. einbezogen werden.
Eine bessere Option besteht erst mit dem MSI 4.0 unter Windows Vista und höher. Hier findet sich eine neue Implementierung die als Restart-Manager bezeichnet wird. Dieser beendet Prozesse automatisch, so dass auch Prozesse ohne sichtbares Fenster, Dienste etc. einbezogen werden.
Andreas Kerl
Inside Windows Installer 4.5
ISBN 3-86645-431-7
Posted 22 July 2009 - 07:34
Guten Tag Herr Kerl
Ich danke Ihnen für die Antwort.
Da aber unsere Software viele Dienste und z.T. auch Prozesse ohne UI, müsste ich einen Dialog erstellen können, wo die betreffenden Prozesse aufgelistet werden und dann mit einem [ Prozess beenden ] o.ä. beendet werden können...
Gibt es da in Basic MSI keine Möglichkeiten?
Ich habe mir jetzt Mal ein InstallScript Project eröffnet und arbeite mich da mal etwas ein und hoffe, dass das Problem so gelöst werden kann.
Mit freundlichen Grüssen
Blueeberry
Ich danke Ihnen für die Antwort.
Da aber unsere Software viele Dienste und z.T. auch Prozesse ohne UI, müsste ich einen Dialog erstellen können, wo die betreffenden Prozesse aufgelistet werden und dann mit einem [ Prozess beenden ] o.ä. beendet werden können...
Gibt es da in Basic MSI keine Möglichkeiten?
Ich habe mir jetzt Mal ein InstallScript Project eröffnet und arbeite mich da mal etwas ein und hoffe, dass das Problem so gelöst werden kann.
Mit freundlichen Grüssen
Blueeberry
Edited by Blueeberry, 22 July 2009 - 08:19.
Posted 23 July 2009 - 16:41
Ich bin kein IS-Experte, glaube aber nicht dass eine solche Funktionalität darin vorhanden ist. Denn die Implementierung zur Ermittlung der Prozesse ist nicht trivial. Hierzu werden die Performancecounter verwendet, die im Registry Key HKEY_DYN_DATA angesiedelt sind. Falls das Szenario mit einer CA aus IS o.ä. umsetzbar wäre, würde ja nicht die Notwendigkeit bestehen, das gesamte Szenario ab Vista zu verändern, so dass mit dem RM die angestrebten Lösungen umsetzbar wären.
LG

LG
Edited by akerl, 23 July 2009 - 16:44.
Andreas Kerl
Inside Windows Installer 4.5
ISBN 3-86645-431-7