Frage

Vorausgesetzt, die selbst-Registrierung verwendet wird, um Komponenten zu installieren, die als Teil einer größeren installer-Programm, warum ist eine Registrierung selbst schlecht?E. g.selbst-Registrierung vb benutzerdefinierte Steuerelemente oder capicom oder was auch immer.Ich erkenne an, dass die Registrierung selbst ist wahrscheinlich nicht so sicher in der Fall von eine dll, die du selber geschrieben hast, aber ich bin mir nicht diskutieren diese.

Die MSDN-Listen mehrere Gründe warum die selbst-Registrierung ist schlecht, hier wiedergegeben:

  • Rollback funktioniert nicht richtig.
    OK, dieser Grund macht Sinn.

  • Werbung wird nicht so gut funktionieren.
    Abgesehen von der Tatsache, dass die Anzeige ist nur für bestimmte Arten von software-clients, die ich nicht verstehe warum ist das ein Problem.Nur die Hauptanwendung muss geworben werden, nicht die Komponenten.

  • Selbst-Registrierung nicht unterstützt, pro-Nutzer-Schlüssel richtig.
    So what?Dass jeder Benutzer Zugriff auf "gemeinsame" Komponenten ist nicht eine schlechte Sache, es sei denn, Sie haben eine Menge Benutzer auf dem Computer, in die Fall es ist immer noch nicht Welt-Ende.

  • Selbst-Registrierung ist anfälliger für Fehler codieren.
    Ich kann auf jeden Fall glauben, dass dieser, außer im Fall von dlls, die geschrieben wurden von Microsoft (Sie kann haben Fehler, aber ich glaube nicht, Vertrauen Sie nicht zumutbar ist).Und in die Fall von tlbs und ocxs, die wurden erzeugt durch software, Codierung der Fehler scheint ziemlich unwahrscheinlich.

  • Self-registrieren von dlls kann Links zu anderen dlls.
    Im Fall von dlls von Programmen erzeugt, es scheint nicht wahrscheinlich, dass die selbst-Registrierung schlägt fehl aufgrund dieses aber das hinzufügen der Registrierungsschlüssel manuell gearbeitet haben würde.Ich würde lieber meine Registrierung selbst den Fehler, mir fehlen die dlls.

    Ich bin sicher, dass dies zeichnen von Flammen :/

    Edit:Durchgestrichenen Argumente, die ich denke, wirklich wichtig sind (basierend auf Benutzer Antworten und auch meine eigenen).

  • War es hilfreich?

    Lösung

    Soweit diesem Artikel:

    • Selbst-Registrierung nicht unterstützt, pro-Nutzer-Schlüssel richtig.

      So what?Dass jeder Benutzer Zugang nach "common" - Komponenten ist nicht schlecht Sache, es sei denn, Sie haben eine Menge von Benutzern auf der Maschine, in welchem Falle es noch nicht Welt-Ende.

    Es geht nicht nur darum, wie viele Benutzer auf einer Maschine, aber auch, welche Berechtigungen Sie haben.Wenn Sie nicht der administrator, der Benutzer wird wahrscheinlich nicht über die Berechtigung zum aktualisieren der HKEY_LOCAL_MACHINE Teil der Registrierung.

    Andere Tipps

    Das Element

    Self-registrieren von dlls kann Links zu andere dlls

    gilt, wenn Sie versuchen, um die dll zu registrieren, aber der installer ist noch nicht kopiert/installiert andere dll Ihrer Registrierung erfordert.

    Ich möchte hinzufügen, eine mögliche "gotcha", die ich habe laufen in (mit auto-generated self-Registrierung code für die MS-COM-Objekte):

    Self-Anmeldung läuft die ausführbare Datei, mit allem, was dazugehört/benötigt.So, zum Beispiel, wenn Ihre Komponenten, die direkt oder indirekt Protokolle der Tatsache, dass es aktiviert wurde (vielleicht für Sicherheit, Protokollierung, wenn die Komponente ist, sollte nur ausgeführt werden, an ganz bestimmten stellen oder in sehr spezifischen Kontexten oder in Abstimmung mit anderen Anwendungen), Anmeldung erscheint eine Aktivierung (es sei denn, Sie sind vorsichtig, Protokollierung).Dies kann auch interessant sein, wenn Sie Ihre Protokolle aufzuzeichnen, sagen, der Kontext, in dem die Komponente verwendet wurde, in diesem Fall Sie haben, was geerbt Kontext ausgelöst, die selbst-Registrierung.

    Keine große Sache, in den meisten Fällen, aber es kann verursachen einige subtile Verwirrung manchmal.Ich würde hinzufügen, dass es die Liste der Gründe, warum es wahrscheinlich nicht empfehlenswert.

    Lizenziert unter: CC-BY-SA mit Zuschreibung
    Nicht verbunden mit StackOverflow
    scroll top