2011-01-17 9 views
3

scheine ich in ein Problem laufen, wenn ich eine VBScript ausführen, wenn es ein COM-Objekt erstellt, sondern nur auf Windows 7.Registrieren von COM-Objekten in Windows 7 (64 bit)

Wenn Sie das VBA-Skript laufen Sie erhalten:

Script: C:\Program Files\... 
Line: 2 
Char: 1 
Error: ActiveX Component can't create object: 'my object' 
Code: 800A01AD 
Source: Microsoft VBScript runtime error 

ich die Eingabeaufforderung verwendet haben (Admin) die dLL mit regsvr32 zu registrieren, aber wenn das läuft bekomme ich einen anderen Fehler:

The module "my dll" was loaded but the entry-point DLLRegisterServer was not found. 
Make sure that "my dll" is a valid DLL or OCX file and then try again 

ich zur Zeit Windows 7 64 Bit leite. Das Skript läuft auf Windows XP-Computern, aber ich weiß nichts über Windows Vista-Computer (es gibt keine zu testenden). Ich habe OLE-COM Object Viewer verwendet, um zu sehen, ob es registriert wurde, aber die Datei wurde nicht angezeigt.

Ist dies ein Problem mit Windows 7 oder 64-Bit-Maschinen oder eine Kombination aus beidem.

+1

die 32-Bit-Versionen von regsvr32.exe und cscript.exe in c Versuchen: \ windows \ syswow64. –

Antwort

3

versuchen, Ihre Komponente mit% windir Registrierung% \ syswow64 \ regsvr32 und läuft Ihre vbs mit% windir Datei% \ syswow64 \ cscript.exe

Ihre COM-Komponente ist wahrscheinlich 32bit, so dass Sie die 32-Bit-Tools verwenden müssen auf 64bit Windows um es zum Laufen zu bringen.

Dank, Marke

+2

REGSVR32.EXE erkennt tatsächlich die Bit-Ness der DLL und registriert es ordnungsgemäß. Sie haben jedoch recht, dass Sie die richtige CSCRIPT.EXE ausführen müssen. –

+0

Super, danke. Ich war mir der CSCRIPT.EXE-Datei nicht bewusst –

Verwandte Themen