ActiveX가 Scripting.FileSystemObject 개체를 생성할 수 없는 유사한 문제에 대해 해결 방법은 일반적으로 유사합니다. 먼저 구성 요소 등록 문제를 고려하고 두 번째로 구성 요소 권한 문제를 고려하십시오. 서버 구성을 확인한 다음 프로그램 소스 코드를 주의 깊게 살펴보십시오.
오늘 문제가 발생했습니다. ASP 웹 사이트에서 정적 페이지를 생성할 때 오류가 보고되었습니다.
Microsoft VBScript 런타임 오류 오류 '800a01ad'
ActiveX 구성 요소가 개체를 만들 수 없습니다: 'Scripting.FileSystemObject'
실제로 이 문제는 비교적 일반적입니다. 오류가 발생하는 이유는 서버가 FSO 구성 요소를 지원하지 않기 때문입니다. 이러한 상황은 Fengxun, Kexun 및 Dongyi와 같은 주류 ASP CMS 시스템에서 자주 발생합니다. 왜냐하면 모두 정적 생성 메커니즘을 채택하고 FSO 구성 요소 지원이 필요하기 때문입니다. 시작하기 전에 먼저 ASP 프로브를 사용하여 FSO 구성 요소에 대한 서버 지원을 테스트해야 합니다. 일반적으로 우리는 Windows 2003 서버를 사용합니다.
아래에서는 구체적인 솔루션 아이디어에 대해 설명하고 오류 보고의 가능한 원인을 각각 분석해 보겠습니다. 이것이 도움이 되기를 바랍니다.
1) scrrun.dll 파일이 등록되어 있지 않습니다. C:/WINDOWS/system32 폴더로 이동하여 scrrun.dll 파일이 있는지 확인하세요. 그렇지 않은 경우 시스템 설치 디렉터리의 i386 폴더로 이동하여 복사하세요. 그런 다음 시작 메뉴->다음 명령을 실행하여 FSO 구성 요소를 등록합니다.
regsvr32.exe %windir%/system32/scrrun.dll 이렇게 하면 서버가 FSO 구성 요소를 지원할 수 있습니다. FSO 구성 요소를 끄려면 다음 명령을 실행하세요.
regsvr32.exe /u %windir%/system32/scrrun.dll은 정상이며 문제가 해결될 것입니다.
2) 그래도 동작하지 않는다면, 브라우저에서 ActiveX 컨트롤이 비활성화되어 있는지 확인해보세요. 일반적으로 이런 일이 발생하지 않습니다. 서버가 아닌 이상 보안 수준이 엄격하게 제한됩니다. 이 경우 브라우저의 보안 수준을 중간 낮음으로 조정하세요.
3) 귀하의 서버 자체는 FSO 구성요소를 지원하지 않습니다.
4) 권한 문제를 고려하십시오. 다음 작업을 순서대로 수행합니다.
시작 메뉴 -> 실행 -> regedit -> 확인, HKEY_CLASSES_ROOT/Scripting.FileSystemObject를 차례로 찾아 권한을 마우스 오른쪽 버튼으로 클릭하고 모든 사용자, 인터넷 게스트 계정(IUSR...) 사용자 권한을 추가하고 IIS를 다시 시작하여 문제를 해결합니다.
5) 첨부파일 : 서버가 Scripting.Dictionary 컴포넌트를 지원하지 않는 문제에 대한 해결방법
위의 단계를 통해 ActiveX 개체 생성 실패 문제를 완벽하게 해결할 수 있습니다. 여전히 Scripting.Dictionary 구성 요소가 지원되지 않는 문제가 있는 경우 해결 방법은 비슷합니다. 첫 번째 단계를 참조하여 regsvr32.exe %windir%/system32/scrrun.dll 명령을 실행하세요. 아직 해결되지 않은 경우 권한 문제를 고려하여 4단계를 참조하여 레지스트리에서 이 개체에 권한을 추가할 수 있습니다. 하나의 예에서 추론을 이끌어내고 비슷한 문제가 다시 발생하면 해결 방법을 알아보세요!
6) 첨부 파일: Server.CreateObject 실패에 대한 솔루션입니다. 프로그램을 실행할 때 다음과 같은 유사한 오류가 나타날 수 있습니다.
서버 개체 오류 'ASP 0177: 800401f3'
Server.CreateObject가 실패했습니다.
/include/test.asp, 38행에서 test.asp를 열고 38행 부근의 소스 코드를 확인하여 개체를 생성하는 쓰기 방법에 오류가 있는지 확인합니다. 표준 쓰기 방법은 다음과 같습니다.
<% Set fso = Server.CreateObject(Scripting.FileSystemObject) %>
이러한 상황은 대부분 프로그래머의 부주의로 인해 발생합니다. 실제로 Scripting.FileSystemObject 구성 요소의 이름을 바꾸면 서버의 보안이 강화됩니다. 레지스트리에서 다음과 같이 변경할 수 있습니다.
시작 메뉴->실행->regedit->확인, HKEY_CLASSES_ROOT/Scripting.FileSystemObject를 차례로 찾아 마우스 오른쪽 버튼을 클릭하여 이름을 바꾼 다음 첫 번째 단계를 실행하여 scrrun.dll 파일을 등록합니다. 프로그램을 작성할 때 이 새 이름으로 개체를 만들어야 합니다. 그렇지 않으면 오류가 보고됩니다. 7) 첨부: IIS에는 구성 요소가 포함되어 있습니다.
이러한 문제의 원인이 모두 IIS 자체 구성 요소에 있다는 사실을 발견하셨나요? 참고할 수 있는 몇 가지 일반적인 IIS 구성 요소는 다음과 같습니다.
MSWC.AdRotator
MSWC.브라우저 유형
MSWC.다음링크
MSWC.도구
MSWC.상태
MSWC.카운터
SWC.PermissionChecker
WScript.Shell
마이크로소프트.XMLHTTP
스크립팅.FileSystemObject
ADODB.Connection 요약하면 ActiveX가 Scripting.FileSystemObject 개체를 생성할 수 없는 유사한 문제에 대해 해결 방법은 일반적으로 유사합니다. 가장 중요한 것은 명확한 아이디어를 갖는 것입니다. 먼저 구성 요소 등록 문제를 고려하고 두 번째로 구성 요소 권한 문제를 고려하십시오. 서버 구성에는 문제가 없습니다. 그렇다면 프로그램 소스 코드를 주의 깊게 확인하세요!