Anzeige

ActiveX-Steuerelement im Release registrieren

fujitsufan

Erfahrenes Mitglied
#1
Hallo,

seit geraumer Zeit funktionieren die Installationsroutinen meiner ActiveX-Steuerelemente nicht mehr.
Grund hierfür ist, dass sich die ActiveX-Steuerelemente bei der Installation nicht mehr registrieren lassen.

Bei Manueller Ausführung der Systemfunktion "regsvr32" im DOS Eingabefenster wird die Registrierung durchgeführt.

Im Debug-Modus kann ich feststellen (Einfügen von mehreren Windows Meldungsfenster), dass im Programmcode die Funktionen
C++:
STDAPI DllRegisterServer(void)
{
    AFX_MANAGE_STATE(_afxModuleAddrThis);

    if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))
        return ResultFromScode(SELFREG_E_TYPELIB);

    if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE))
        return ResultFromScode(SELFREG_E_CLASS);

    return NOERROR;
}
aufgerufen werden.
In dieser Funktion
C++:
UpdateRegistryAll(TRUE)
werden alle erforderlichen Registry-Einträge durchgeführt.

Im Release-Modus und in der Installationsroutine ist dies nicht der Fall.
Die Anweisung zum Ausführen der Systemfunktion "regsvr32" habe ich in den Projekteigenschaften unter "Konfigurationseigenschaften\Benutzerdefinierter Buildschritt\Allgemein" in der Befehlszeile definiert: Siehe anhängende Datei "Befehlszeile".
Dies ist im Debug- und im Release-Modus gleich.

Hat das irgendwas mit der einer DLL zu tun, dass diese nicht mehr aktiviert ist oder diese nicht ausgeführt werden kann, aus Benutzerrechten oder aus welchem Grund auch immer.

Ich habe auf dem Zielcomputer alle Adminrechte.
Auf Win7 und Win10 gleich.

Kennt sich mit dieser Materie jemand aus?

Mit freundlichen Grüßen
Fujitsufan
 

Anhänge

Endurion

Erfahrenes Mitglied
#2
Das scheint leider eine neu eingeführte Rechte-Geschichte von Visual Studio zu sein.

Ich habe auch ein altes Projekt, das einen COM-Objekt erstellt und im Post-Build-Step dieses per regsvr32 /s /c <Datei> registrieren soll. Bisherige Abhilfe war da auch nur manuell.
Visual Studio fährt die Post-Build-Steps nicht mehr mit den vollen Rechten, und daher schlägt das Registrieren dann fehl.

Das Registrieren selber benötigt schon seit einiger Zeit Admin-Rechte. Lässt du denn die Installationsroutinen mit den entsprechenden Rechten laufen?

Ein Admin-Account unter Windows ist auch schon seit Vista nicht mehr generell mit vollen Rechten unterwegs.
 

fujitsufan

Erfahrenes Mitglied
#3
Hallo Endurion,

vielen Dank für deine Hilfe.

Lt. meinem IT-Kollegen hat der Rechen alle Rechte die man freischalten kann als Admin.
Was ich jetzt im nachhinein festgestellt habe, dass dies alle diejenigen Projekte betrifft welche mit VS2008 bzw. VS2005 erstellt wurden und
später dann in VS2010 konvertiert worden sind und wie du schon erwähnt hast auf Betriebssystemen Vista und höher laufen.

Ich bleibe an der Sache dran, denn ich habe einige von den Programmen am Laufen.
Das muss einfach sauber laufen.

Mit freundlichen Grüßen
Fujitsufan
 
Anzeige

Neue Beiträge

Anzeige