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

Anwendung von FilesInUse Dialog


3 replies to this topic

Blueeberry

Blueeberry
  • Full Members
  • 29 posts

Posted 17 July 2009 - 16:11

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

akerl

akerl
  • Full Members
  • 104 posts

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.

Andreas Kerl

Inside Windows Installer 4.5
ISBN 3-86645-431-7


Blueeberry

Blueeberry
  • Full Members
  • 29 posts

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

Edited by Blueeberry, 22 July 2009 - 08:19.


akerl

akerl
  • Full Members
  • 104 posts

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. wink.gif

LG

Edited by akerl, 23 July 2009 - 16:44.

Andreas Kerl

Inside Windows Installer 4.5
ISBN 3-86645-431-7