Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#16

AW: DLL Side-by-side registration & redirection

  Alt 22. Jun 2018, 15:35
Und das funktioniert ohne Adminrechte?

Denn regsvr32.exe macht ja im Endeffekt auch genau das was der obige Quellcode tut. Ich bin sehr ungläubig, aber ich probiere es bei Gelegenheit aus.


MSDN: ActiveX-DLLs und OCX-Dateien per Quellcode registrieren und deregistrieren
Also mein Player benötigt keine Adminrechte von daher
Aber ich habe nebenbei aus Sicherheitsgründen das noch zu meinem Manifest addiert.
Du hättest es nicht extra nochmal verlinken müssen denn hier steht doch wie es geht.

Code:
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <!-- UAC Manifest Options
             If you want to change the Windows User Account Control level replace the
             requestedExecutionLevel node with one of the following.

        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel level="highestAvailable" uiAccess="false" />

            Specifying requestedExecutionLevel element will disable file and registry virtualization.
            Remove this element if your application requires this virtualization for backwards
            compatibility.
        -->
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
Wie gesagt ich kann alle meine DLL's zur Laufzeit registrieren und unregistrieren wo sich der Pfad zur DLL befindet ist dabei zu vernachlässigen.
Und im übrigen alle Dll's die mit VB erstellt werden sind ActiveX Dll's (denn hier gibt es keine "normalen" Dll's)

Ich verwende kein regServ32 sondern erstelle das Objekt selbst wenn LoadLibrary erfolgreich war.
Siehe!
CreateObject(PluginName & ".clsMain")

clsMain ist der Einsprungs punkt der geladenen DLL.
Diese Classe muss in jeder DLL vorhanden sein.

gruss

Geändert von EWeiss (23. Jun 2018 um 06:20 Uhr)
  Mit Zitat antworten Zitat