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

Mehrfaches DLL-Update ohne Reboot


3 replies to this topic

EberhardH

EberhardH
  • Members
  • 137 posts

Posted 16 August 2001 - 12:43

Hallo,

ich habe eine Frage:
DLLs, die zum Installationszeitpunkt gerade in Benutzung sind, werden erst nach einem Reboot "upgedated". Was aber, wenn der Nutzer den Reboot nicht ausführt, sondern stattdessen eine weitere Installation ausführt, die die gleiche DLL, nun aber in einer anderen Version, aktualisieren will?

Ein Beispiel: vorhanden ist eine DLL in Vers. 4.50

1. Erste Install. braucht 4.90, kopiert diese 4.90 temporär und bereitet Umbenennen nach Reboot vor.

2. Nutzer führt KEINEN Reboot aus. Also ist noch 4.50 vorhanden.

3. Zweite Install. braucht 4.60, kopiert diese 4.60 temporär und bereitet Umbenennen nach Reboot vor.

4. Nutzer führt KEINEN Reboot aus. Noch immer ist 4.50 vorhanden.

5. Dritte Install. braucht 4.70, kopiert diese 4.70 temporär und bereitet Umbenennen nach Reboot vor.

Frage: welche Version dieser DLL wird nach dem Reboot vorhanden sein? Erfolgt diese Vorbereitung des Umbenennens zeitlich sequentiell (also zuerst 4.50 -> 4.90, dann 4,90 -> 4.60, danach 4.60 -> 4.70), so daß die zuletzt kopierte DLL nach dem Reboot die aktive wird?
(Und wo in der Registry steht diese Umbenennerei?)

Eberhard


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 16 August 2001 - 14:45

Das kommt darauf an...
Soviel ich weiss, werden die Rename-Operationen sequentiell abgearbeitet, d.h. die letze Datei gewinnt (im Beispiel 4.70). Deshalb ist es ratsam, zu Beginn des Setups zu prüfen, ob noch Reboots anstehen. Das gleiche problem betrifft natürlich auch Sub-Installationen, etwa MDAC.

Wenn die Installation mit IS 6.21 oder höher erstellt wurde, kümmert sich InstallShield um dieses Problem (Zitat aus den Release-Notes):
Locked file handling has been improved. If setup encounters a locked file that has been updated by the current or a previously run setup, InstallShield will update the locked file only if it is newer than the original and prior updates to the file. Previously, the last file transferred was installed after reboot.


MKaiser

MKaiser
  • Full Members
  • 88 posts

Posted 16 August 2001 - 16:44

Noch schlimmer wirds, wenn man ohne zu rebooten nach einer Installation eine Deinstallation macht.

Es wird eine Datei zum Replace markiert, aber vom Deinstaller als zu löschen. Reboot -> Die Datei ist weg.

Und die Kunden beteuern natürlich ihre Unschuld und sagen dann sie hätten nach der Installation rebooted...:(


EberhardH

EberhardH
  • Members
  • 137 posts

Posted 17 August 2001 - 06:34

Vielen Dank, Stefan, Dein Hinweis hilft mir sehr.

Heimtückisch ist freilich ein Mix aus IS 5.x- und IS 6.3-Setups ... Da sollte man vielleicht immer einen Reboot nach SdFinishxxx erzwingen, den der Nutzer nicht abwehren kann - da gab's doch früher mal diese System-Funktion.

Eberhard