2016-04-05 9 views
0

Ich habe eine DLL in C# gemacht, die Bouncycastle verwendet und die wiederum in einem Visual Basic 6 von 32 Bits funktioniert, so hat es die Option "COM INTEROP" aktiviert. Ich habe es auf Windows 32-Bit getestet und funktioniert ordnungsgemäß.Wie registriert man eine DLL C# COM Interop BouncyCastle.dll auch in Windows 64bit verwendet?

Die Schritte I folgen in CMD-Leitung registrieren sind:

Schritt 1:

csc /target:module /reference:BouncyCaste.dll myDLLCOM.cs 

2 Schritt:

sn -k sign.pfx 

3 Schritt:

al /out:myDLLCOM.dll myDLLCOM.netmodule /keyfile:sign.pfx 

4 Schritt:

gacutil /i BouncyCastle.dll 

5 Schritt:

regasm /codebase /tlb:myDLLCOM.tlb myDLLCOM.dll 

Mein Problem versucht, in einem 64-Bit-Windows zu registrieren. Als meine VB6-Anwendung in Win64 Bits versucht, das Objekt zu erstellen, gibt mir „Fehler 429 ActiveX-Steuerelement kann Objekt nicht erstellen

UPDATE:. I mit cmd, regasm und alle Befehl registrieren versucht, sich in sysWOW64 Ordner und nichts.

Wer weiß, was das Problem sein könnte?

Danke für readme und sorry für mein Englisch! ;-)

+0

Was ist das Problem? – SLaks

+0

Aber was ist das Problem? Erhalten Sie einen Fehler? Was sagt es? – SLaks

+0

Ja, wenn meine VB6-Anwendung versucht, das Objekt zu erstellen, gibt mir "Fehler 429 ActiveX-Steuerelement kann kein Objekt erstellen" – Emily

Antwort

0

Vielleicht haben Sie eine andere Instanz zu diesem Objekt erstellt hat. Wenn ja, müssen Sie schließen es zuerst.

+0

Hallo @ Gonzalo, danke für Ihre Antwort. Ich denke nicht, dass es eine andere Instanz des Objekts erstellt, aber nicht in Win32 funktioniert. – Emily

+0

Ist nicht eine andere Anwendung ausgeführt, die die gleiche DLL verwenden "Ich hatte ein ähnliches Problem mit Outlook.exe in 64bit Windows. Ich musste Outlook schließen, bevor ich das Objekt in meinem Code erstellen konnte. – Gonzalo

+0

Nein, weil diese DLL von mir erstellt. Ich verstehe nicht, warum nicht in Win64 arbeiten." win32 funktioniert perfekt. – Emily

Verwandte Themen