none
DLL wird in \Windows\System32 nicht angezeigt RRS feed

  • Frage

  • Hi Professionals,

    ich möchte eine selbst erstellte DLL in meine aktuelle Anwendung einbinden. Solange die DLL in einem 'eigenen' Verzeichnis liegt (Dokumente\...) kann ich die DLL über 'Verweise hinzufügen -> Durchsuchen' hinzufügen.

    Verschiebe ich die DLL in das Windows\System32-Verzeichnis wird die DLL unter 'Verweise hinzufügen -> Durchsuchen' nicht mehr angeboten. Diverse System-DLLs sind aber zu sehen.

    Warum kann die DLL nicht eingebunden werden, wenn sie im Windows\Sytem32-Verzeichnis liegt?

    Gruß Joerg

    Samstag, 10. September 2016 21:20

Antworten

  • Hallo Joerg,
    wie kopierst Du denn nach System32? Mit welchen Rechten?
    Versuche das kopieren mit "Als Administrator". Das soll gehen.
    Und willst Du wirklich dorthinein? Unter 64 Bit Windows wäre das Verzeichnis:syswow64.

    Nach System32/syswow64 hinein sollte man nicht kopieren, dorthinein sollte man Installieren mit einem Installationspaket.
    Da ich davon ausgehe das Du eine VB-DLL - eine COM-Komponente als DLL meinst erst Recht.

    Grüße Alexander

    • Als Antwort markiert Joerg 55 Sonntag, 11. September 2016 08:11
    Sonntag, 11. September 2016 07:51
  • Hallo Jörg,

    welches "System32" gültig ist, hängt davon ab ob Du unter 64 Bit Windows arbeitest und ob Deine Anwendung  mit 32 oder 64 Bit arbeitet, siehe dazu: Why do 64-bit DLLs go to System32 and 32-bit DLLs to SysWoW64 on 64-bit Windows?

    Im Zweifelsfall verwende für eigene DLLs das Programmverzeichnis. Das kann weitere Probleme vermeiden, die sich durch den Suchpfad ergeben. Siehe dazu: Dynamic-Link Library Security.

    Gruß Elmar

    • Als Antwort markiert Joerg 55 Sonntag, 11. September 2016 08:11
    Sonntag, 11. September 2016 08:07
    Beantworter

Alle Antworten

  • Hallo Joerg,
    wie kopierst Du denn nach System32? Mit welchen Rechten?
    Versuche das kopieren mit "Als Administrator". Das soll gehen.
    Und willst Du wirklich dorthinein? Unter 64 Bit Windows wäre das Verzeichnis:syswow64.

    Nach System32/syswow64 hinein sollte man nicht kopieren, dorthinein sollte man Installieren mit einem Installationspaket.
    Da ich davon ausgehe das Du eine VB-DLL - eine COM-Komponente als DLL meinst erst Recht.

    Grüße Alexander

    • Als Antwort markiert Joerg 55 Sonntag, 11. September 2016 08:11
    Sonntag, 11. September 2016 07:51
  • Hallo Jörg,

    welches "System32" gültig ist, hängt davon ab ob Du unter 64 Bit Windows arbeitest und ob Deine Anwendung  mit 32 oder 64 Bit arbeitet, siehe dazu: Why do 64-bit DLLs go to System32 and 32-bit DLLs to SysWoW64 on 64-bit Windows?

    Im Zweifelsfall verwende für eigene DLLs das Programmverzeichnis. Das kann weitere Probleme vermeiden, die sich durch den Suchpfad ergeben. Siehe dazu: Dynamic-Link Library Security.

    Gruß Elmar

    • Als Antwort markiert Joerg 55 Sonntag, 11. September 2016 08:11
    Sonntag, 11. September 2016 08:07
    Beantworter
  • Ok, besten Dank, unter SysWOW64 funktioniert es.

    Joerg

    Sonntag, 11. September 2016 08:13