Warum wird empfohlen, alle Programme zu schließen, bevor Sie ein neues Programm installieren?


9

Welche Probleme treten bei der Installation eines neuen Programms auf, während andere Programme ausgeführt werden? Ich würde mir vorstellen, dass der GAC viele der alten Probleme beim Sperren von gemeinsam genutzten DLLs gelöst hat. Welche Probleme treten also noch auf? Ich kann sicher Probleme beim Aktualisieren eines einzelnen Programms feststellen, aber abgesehen davon ist es schwer zu erkennen, warum Apps sich gegenseitig auf die Zehen treten.


Dies wird nur für verkrüppelte Betriebssysteme benötigt. Mit besseren Systemen können Sie Binärdateien oder Bibliotheken installieren, während alte Versionen noch ausgeführt werden oder wenn sshd-Netzwerkverbindungen bestehen.
ott--

Antworten:


14

GAC hilft nur bei .NET-Assemblys. Es gibt viele andere Anwendungen, die nicht in .NET geschrieben sind.

Welche weiteren Probleme gibt es?

  • Andere Anwendungen, in denen Dateien geöffnet sind
  • Andere Anwendungen, die Netzwerkverbindungen offen halten
  • Andere Anwendungen, die Geräte offen halten
  • Andere Anwendungen verlangsamen den Computer, sodass irgendwo ein unerwartetes Zeitlimit auftreten kann, wodurch die Arbeit unterbrochen wird
  • Andere Anwendungen, die Dateien und Einstellungen im System ändern, werden vom Installationsprogramm voraussichtlich während des Prozesses unverändert bleiben (berücksichtigen Sie die Transaktionsintegrität).

Warum sollte der Installationsprozess fehlschlagen, wenn es so einfach ist, andere Anwendungen zu stoppen und nur ein paar Minuten zu warten? In der Zwischenzeit eine Tasse Kaffee trinken. :) :)


10
+1 Was? Theres Programmierung außerhalb von .NET? Was ist das, 2010?
P.Brian.Mackey

3
Auf welche Weise ist es so einfach, alle anderen Anwendungen zu stoppen und sie dann mit derselben Konfiguration wieder zu öffnen, damit ich dort weiterarbeiten kann, wo ich aufgehört habe? Oder erwartet jemand, dass Entwickler an unabhängigen kurzen Aufgaben arbeiten, die perfekt unterbrechbar sind?
David Thornley

2
@ David Thornley: Du installierst nicht jede Stunde Dinge, oder? Ich habe zum Beispiel die Tools installiert, die ich einmal benötige, ein Image erstellt und seit Monaten keine größeren Installationen mehr durchgeführt.

1
@ Brian: Korrektur, 2011 ;-)
Joris Meys

2
@Developer Art: Nicht jede Stunde, aber manchmal möchte ich ein bestimmtes Tool für das, woran ich arbeite, erhalten, und manchmal entscheidet eines meiner vorhandenen Tools, dass es mithilfe eines Installationsprogramms aktualisiert werden soll. Außerdem ärgere ich mich, wenn ich unter MS Windows keine Dinge tun kann, die ich normalerweise unter Linux oder Mac OSX mache.
David Thornley

9

Sie können eine DLL oder EXE, die von einer anderen App verwendet wird, nicht überschreiben. In den besser geschriebenen Eingabeaufforderungen heißt es: "Schauen Sie, schließen Sie entweder Dinge, die Dinge verwenden, die ich aktualisieren möchte (und geben Sie eine Liste an), oder setzen Sie die Installation fort, und wir müssen danach neu starten, um die DLL / EXE zu ersetzen." Die Faulen sagen dir nur blind, dass du jedes einzelne Ding, das du hast, schließen sollst, nur für den Fall.

Ich hasse einen Neustart. Ich hasse es, Sachen zu schließen, die ich benutze. Manchmal rolle ich einfach weiter und schließe nichts, was läuft. Ich habe eine gewisse Vermutung, ob Dinge eine DLL gemeinsam nutzen könnten. Wenn ich beispielsweise Word aktualisiere, stimme ich zu, Outlook zu schließen, aber nicht Foxit Reader. Ich weiß, dass sie wahrscheinlich unabhängig sind. Ich schenke nicht faulen Aufforderungen (die mir sagen, was der Konflikt beinhaltet) mehr Aufmerksamkeit als faulen, die bei all den Gedanken, die in sie geflossen sind, genauso gut sagen können: "Kann Erdnüsse enthalten".


6
+1 für "kann Erdnüsse enthalten". Auch für Eingabeaufforderungen, in denen Konflikte aufgelistet sind.
Craige

5

Vielleicht ist der Installer einfach zu paranoid? Ehrlich gesagt habe ich nie alle Programme geschlossen, als mich ein Installer dazu aufforderte, und bin nie in Schwierigkeiten geraten. Könnte aber nur Glück sein.


1

Oft wird diese Nachricht nur als Standardtext für das verwendete Installationssystem eingefügt. 9 von 10 Mal kann es ignoriert werden. Es ist nur das 10. Mal, dass Sie sich Sorgen machen müssen :-) imo, zusätzlich zu den technischen Gründen, die DevArt gut zusammengefasst hat, wurde es wahrscheinlich ursprünglich dort eingefügt, damit Endbenutzer nicht wegen verlorener Arbeit zu Anbietern schreien, wenn das Installationsprogramm Windows und abstürzt Dies führt dazu, dass sie wichtige Tabellenkalkulationen und Dokumente verlieren, an denen gearbeitet wurde - ein nicht allzu ungewöhnliches Ereignis früher bei der Installation von Software.


0

Die Möglichkeit eines Konflikts zwischen der installierten und der bereits ausgeführten Anwendung ist sehr gering. Heutzutage basieren die meisten Anwendungen auf dem Konzept der Sandbox und müssen während des Installationsprozesses (oder der normalen Verwendung) nicht mehr aus der Sandbox aussteigen.

Nehmen wir jedoch an, dass während der Installation einer Software eine Änderung an einer Datei vorgenommen werden muss, die höchstwahrscheinlich bereits von einer anderen Anwendung geöffnet wurde. Sie haben hier zwei Möglichkeiten:

  1. Überprüfen Sie, ob die Datei geöffnet / gesperrt ist, finden Sie heraus, welcher Prozess eine Sperre enthält, und zeigen Sie einen schönen Dialog an, in dem Sie aufgefordert werden, diese bestimmte Anwendung zu schließen
  2. Bitten Sie die Person einfach, alle Anwendungen zu schließen, und Sie sind ohne zusätzlichen Aufwand auf der sicheren Seite

Leider wird die zweite Option die meiste Zeit in Anspruch genommen.


0

es ist Absicherung. Ich habe mich nie darum gekümmert und hatte keine Probleme. Die einzige Ausnahme ist die Installation eines Plugins, wenn die Ziel-App (IE, FireFox, Visual Studio usw.) noch geöffnet ist

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.