2010-03-11 5 views
23

Gdy próbuję utworzyć obiekt COM w skrypcie VB na 7 (64 bit) komputera z systemem Windows, zawsze pojawia się następujący błąd:Nie można użyć CreateObject ze skryptów VB na Windows 7 x64

składnik

„ActiveX” t utworzyć obiektu „xxx.xxx” Kod:.. 800A01AD

mam aplikacji, które korzystają z obiektu COM bez problemu próbowałem uruchomiony z wiersza poleceń w trybie administratora, bez różnicy

Czy jest jakiś sposób. aby to umożliwić?

Odpowiedz

48

Interpreter VBScript (cscript. exe/wscript.exe) występuje w dwóch wersjach na 64-bitowej wersji systemu Windows: wersja 32-bitowa i wersja 64-bitowa.

Wersja 32-bitowa może tworzyć i używać tylko 32-bitowych komponentów COM, a wersja 64-bitowa może tworzyć i używać tylko 64-bitowych komponentów COM.

Domyślnie pliki .vbs są powiązane z wersją 64-bitową. Składnik COM najprawdopodobniej jest 32-bitowy, stąd błąd.

Możesz znaleźć wersję 32-bitową w folderze %windir%\SysWOW64. Uruchomienie tej wersji powinno dać dostęp do wszystkich komponentów COM 32-bitowych:

%windir%\SysWOW64\wscript.exe myScript.vbs 

lub

%windir%\SysWOW64\cscript.exe myScript.vbs 
+1

Dziękujemy! To działało jak urok. –

+1

Po uderzeniu głową o kilka godzin, uratowałeś ten dzień! – Vitaliy

+0

Czy wiesz, jak to zrobić w aplikacjach HTA, widzę kod taki jak ten: i sprawienie, że to się nie powiedzie: ** < script type = "text/vbscript" src = "% windir% \ SysWOW64 \ wscript.exe utils.vbs"> ** –

Powiązane problemy