Announcement

Collapse
No announcement yet.

Zusammenspiel zwischen .NET- und COM-Komponenten ohne registry

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zusammenspiel zwischen .NET- und COM-Komponenten ohne registry

    Hallo,

    ich habe folgendes Problem (vereinfacht):
    Ich habe eine .NET-Anwendung, die eine COM-Komponente benutzt. Letztere braucht wiederum eine weitere .NET-Komponente. Der Zugriff soll ohne zuhilfenahme der registry geschehen. Alle drei DLLs liegen im gleichen Verzeichnis.

    Mittels einer "Application manifest - Datei" kann ich der .NET-Anwendung die COM-Komponente bekannt machen, allerdings weiß ich nicht, wie ich der COM-Komponente die andere .NET-Komponente bekannt machen soll. Bisher klappt das nur, wenn ich diese andere .NET-Komponente per regasm in die registry schreiben lasse. Kennt jemand eine Lösung, die "regfree" arbeitet? Vielen Dank schon mal.

    Gruß,
    KingArthur

  • #2
    Registrieren muss sein. Jedoch gibts ab XP die SidebySide-Registrierung die nur für den aktuellen User die registrierung durchführt und damit ohne Admin_Rechte geht.

    Empfehle dir aber die COM-Komponente durch eine .NET-Komponente zu ersetzen.

    Comment


    • #3
      Man kann sich das leider nicht immer aussuchen. Die COM-Komponenten können nicht mal eben ausgetauscht werden. Und die Anforderung lautet, dass die Anwendung komplett "regfree" laufen muss.

      Ich hab ja zur Zeit eine Manifest-Datei für die Exe. Wenn ich in dieser Exe auf bspw. eine .NET-DLL zugreife, wird das interne Manifest dieser .NET-DLL ausgewertet. Kann ich .NET dazu bringen, dass für jede nachgeladene DLL auch zusätzlich die zugehörige externe Manifest-Datei ausgewertet wird? Wenn es dann noch eine Möglichkeit gäbe, externe Manifest-Dateien für COM-Komponenten zu schreiben, dann könnte ich doch in diesen die für die jeweilige COM-Komponente benötigten .NET-DLLs eintragen. Ist sowas prinzipiell möglich?

      Comment


      • #4
        COM ist nunmal "Registry-Basierend". Evtl. kann wenn du die DLL "normal" lädst du evt. auch ohne Registry-Einträge per Running Object Table darauf zugreifen. Aber evtl. weis ja Andreas mehr ob so ein Hack möglich wäre.

        Comment

        Working...
        X