2011-12-21 3 views
1

Windows XP에서 제대로 작동하는 .vbs 스크립트를 사용합니다. vista 64 또는 windows server 2008로 마이그레이션하면 스크립트가 수행 한 작업이 수행되지만 스크립트가 완료된 후 cscript.exe가 충돌합니다.vista 64에서 스크립트를 실행 한 후 cscript.exe가 충돌 함

syswow64에있는 cscript의 32 비트 버전을 사용합니다. 스크립트는 32 비트의 오래된 COM 객체를 사용하기 때문입니다. 물론, 나는 이러한 COM 개체를 다시 컴파일 할 수 없습니다.

adplus는 xp가 아니라 vista 64에서 액세스 위반 c0000005가 수행되었다고 전합니다.

검색 후, 32 비트 COM 개체를 사용하기 위해 레지스트리 해킹을 시도했지만 실패한 DEP를 사용하지 않도록 설정했습니다.

아이디어가 있으십니까?

감사합니다.

답변

0

크래시가 발생하면 디버거를 사용하여 미니 덤프 및 스택 스택을 얻거나 프로세스를 중단시키는 특정 오류 모듈이 있는지 식별 할 수 있습니다. 이런 문제를 고립 시키면 이상한 행동의 이유를 발견 할 수 있습니다. 문제의 원인이 스크립트 호스트 일 필요는 없습니다.

+0

감사합니다. 그래, 문제는 nidll.dll에서 minidump에 따라 오는 것 같습니다. –

+0

@CastorMalin, 이는 유효하지 않은 매개 변수가 Win32 함수에 전달되었음을 의미합니다. 첫 번째 비 Windows DLL을 찾으려면 스택을 조사해야합니다. 그것은 대개 비난받을 사람입니다. – Ben

+0

나는 마지막으로 64 비트 cscript를 사용할 수있는 레지스트리 해킹 (dll 대리)을 발견했습니다. 이제는 잘 작동합니다. –