2010-02-11 5 views
3

Windows Script Component와 x64 개발 컴퓨터를 사용하려고합니다. X32 비트에서 잘 작동합니다. 하지만 그것을 실행할 수없는 것, 나는 JScript와 VBScript 모두 동일한 문제가 있습니다.Windows 7에서 간단한 "windows 스크립트 구성 요소"생성시 문제가 발생했습니다.

다음은 가능한 가장 간단한 wsc 구성 요소입니다. 메시지 상자에 "Hello"가 팝업됩니다. 아래 스 니펫을 test_lib.wsc라는 파일에 저장하면 마우스 오른쪽 버튼을 클릭하여 등록 할 수 있습니다. 이제 COM 구성 요소로 사용할 수 있습니다.

<?xml version="1.0"?> 
<component> 
<?component error="true" debug="true"?> 
<registration 
    description="Test Script Library" 
    progid="TestScript.Lib" 
    version="1.00" 
    classid="{314042ea-1c42-4865-956f-08d56d1f00a8}" 
> 
</registration> 
<public> 
    <method name="Hello"> 
    </method> 
</public> 
<script language="VBScript"> 
<![CDATA[ 
Option Explicit 
Function Hello() 
    MsgBox("Hello.") 
End Function 
]]> 
</script> 
</component> 

다음 다음 샘플 VB 스크립트를 작성하고 파일에 저장라는 Test.vbs를

dim o 
set o = createobject("TestScript.Lib") 
o.hello() 

난에서 cscript 또는 WScript와는 난 항상 다음을 얻을로 Test.vbs를 실행

. "C : \ test.vbs (3, 1) Microsoft VBScript 런타임 오류 : ActiveX 구성 요소가 'TestScript.Lib'개체를 만들 수 없습니다.

이것은 32 비트 XP에서 완벽하게 작동합니다. 무엇이 잘못 될 수 있는지에 대한 의견이 있으십니까?

감사합니다. 무리가 입니다.

답변

3

는 Wndows 탐색기 컨텍스트 메뉴에서 WSC 등록, 모든에 regsvr32로 다시 등록 WSC에 내가 가진이, 내가 32 비트 명령 프롬프트에서 실행하는 데 문제가 있었다 윈도우

7 64 비트에 나를 위해 잘 작동 %windir%\sysWOW64에서 64 또는 32 명령 프롬프트에서 실행될 때 64 비트 및 32 비트 버전의 cscript.exe에서 정상적으로 실행되었습니다.

wsc를 등록 할 때 %windir%\sysWOW64 폴더의 regsvr32를 사용하고 있습니까?

regsvr32에는 두 가지 버전이 있습니다. 하나는 32 비트 (sysWOW64에서)이고 다른 하나는 64 비트 (system32에서)로 둘 다 regsvr32입니다.

혼동?

:) 우리의 나머지 부분을 가입 여기에 64 비트 Windows에서 일부 개는 하이라이트 좋은 링크는 다음과 같습니다 All the same yet very different

+0

WOW64 폴더에서 regsvr32의 최종 버전을 사용하여 문제가 해결되었습니다. – Bigtoe

0

WScript 또는 CScript의 32 비트 버전으로 실행해야합니다.

기본적으로 64 비트 버전으로 실행되며 32 비트 구성 요소를로드 할 수 없습니다.

WScript와는 및 CScript를의 32 비트 버전

은 내가 Regedit를 사용하여 새 레지스트리 키를 추가

"%SystemRoot%\SysWOW64\에 있습니다 -

HKEY_CLASSES_ROOT\VBSFile\Shell\Open32\Command

및 그것의 기본값 제공 : -

"%SystemRoot%\SysWOW64\WScript.exe" "%1" %*

이렇게하면 VBS f의 컨텍스트 메뉴에서 Open32 항목을 얻을 수 있습니다. ile.

CScript를 실행하려면 CSript의 경로가 SysWOW64 폴더 버전인지 확인해야합니다.

+0

나는 순수 64 비트 등록 1로 그것을 시도 모두 64 비트이기 때문에. 어쨌든 구성 요소 등록을 regsvr32로 등록하고 다음 "C : \ Windows \ SysWOW64 \ cscript.exe c : \ test.vbs"를 실행했지만 여전히 동일한 문제가 발생합니다. – Bigtoe

+0

@Bigtoe : 흠 ... 당신이 Server 2008 x64에 게시 한대로 작동합니다. – AnthonyWJones

관련 문제