1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

ActiveX-Steuerelement im Release registrieren

Dieses Thema im Forum "VisualStudio & MFC" wurde erstellt von fujitsufan, 6. Februar 2018.

  1. fujitsufan

    fujitsufan Erfahrenes Mitglied

    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
    Code (C++):
    1. STDAPI DllRegisterServer(void)
    2. {
    3.     AFX_MANAGE_STATE(_afxModuleAddrThis);
    4.  
    5.     if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))
    6.         return ResultFromScode(SELFREG_E_TYPELIB);
    7.  
    8.     if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE))
    9.         return ResultFromScode(SELFREG_E_CLASS);
    10.  
    11.     return NOERROR;
    12. }
    aufgerufen werden.
    In dieser Funktion
    Code (C++):
    1. 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:

  2. Endurion

    Endurion Erfahrenes Mitglied

    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.
     
    sheel gefällt das.
  3. fujitsufan

    fujitsufan Erfahrenes Mitglied

    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
     
    sheel gefällt das.
Die Seite wird geladen...