Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi OCX unter Vista registrieren (https://www.delphipraxis.net/82715-ocx-unter-vista-registrieren.html)

Tier 18. Dez 2006 17:41


OCX unter Vista registrieren
 
Moin,

meine Anwendung für XP will unter Vista nun nicht mehr starten. Es wird behauptet, dass Administrator-Rechte vonnöten wären, die sind aber meines Erachtens vorhanden... Selbst wenn sie vorhanden sind, geht es auch nicht.

Vermutlich liegt es an der OCX-Datei, die ich direkt nach Application.Initialize bei jedem Start registrieren möchte. Das muss (zumindest einmal) auch so sein, da die OCX in der Anwendung gebraucht wird.

Das hier ist mein Code zum Registrieren:

Delphi-Quellcode:
procedure RegisterOCX;
type
  TRegProc = function : HResult; stdcall;
var
  ocxPath : string;
  RegProc: TRegProc;
  LibHandle: THandle;
begin
  ocxPath := ExtractFilePath(Application.ExeName) + 'xxxx.ocx';

  LibHandle := LoadLibrary(PChar(ocxPath));
  if LibHandle<>0 then
  begin
    @RegProc := GetProcAddress(LibHandle, 'DllRegisterServer');
    if (@RegProc=Nil) or (RegProc<>0) then
      ShowMessage('Fehler!');
    FreeLibrary(LibHandle);
  end;
end;
Meine Frage: Gibt es vielleicht eine andere Möglichkeit, die OCX zu registrieren? Wenn einmal Admin-Rechte vorhanden sein müssen, ist es ja nicht so schlimm. Aber im Moment geht es ja einfach überhaupt nicht. Kann man vielleicht abfragen, ob sie bereits registriert ist? Dann bräuchte man vielleicht nur einmal Admin-Rechte.

Vielen Dank für jeden Hinweis,
Tier.

Christian Seehase 18. Dez 2006 18:16

Re: OCX unter Vista registrieren
 
Moin Tier,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Zitat:

Zitat von Tier
Es wird behauptet, dass Administrator-Rechte vonnöten wären, die sind aber meines Erachtens vorhanden... Selbst wenn sie vorhanden sind, geht es auch nicht.

kann es sein, dass Du hier auf die UAC aufgelaufen bist?
Selbst wenn Du unter Vista Admin bist, musst Du bestimmte Zugriffe noch gezielt genehmigen.

Probier doch mal, was passiert, wenn Du die Datei "von Hand" registrierst.

Tier 19. Dez 2006 11:20

Re: OCX unter Vista registrieren
 
Wenn ich die OCX mit regsvr32 registrieren möchte, gibt's ebenfalls eine Fehlermeldung.

Von wegen, dass DllRegisterServer nicht aufgerufen werden konnte mit dem Fehlercode 8002801c.

Scheinbar kann da nicht in die Registry geschrieben werden, nehme ich mal an.

Wie registrieren denn andere Menschen ihre alten OCX-Dateien unter Vista, wenn nicht so?

Oder wie bekomme ich die Rechte so hoch, dass das erlaubt ist, was meine OCX (von einem Fremdhersteller) da versucht?

Tier 19. Dez 2006 15:03

Re: OCX unter Vista registrieren
 
OK, neuer Versuch: Ich hab die Benutzerberechtigungen auf den HKCR-Ast in der Registry auf Vollzugriff gesetzt. Dann funktioniert das Registrieren über Delphi. Aber das kann ja nicht die Lösung sein oder? Wie soll denn sonst eine OCX unter Vista registriert werden?

TurboMartin 19. Dez 2006 15:18

Re: OCX unter Vista registrieren
 
Braucht man dafür ein Zertifikat? :gruebel:
Gab letztens schonmal sowas, wo UAC ein Zertifikat wollte. :?

Luckie 19. Dez 2006 15:21

Re: OCX unter Vista registrieren
 
Versuch es mal mit dem entsprechenden Eintrag im Manifest, dass du deiner Anwendung beilegst.

Tier 20. Dez 2006 15:23

Re: OCX unter Vista registrieren
 
Manifest? Gibt es dazu noch genauere Informationen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz