[asp-classic] Windows Update KB4340558을 설치 한 후 기존 ASP에서 32 비트 COM 개체를 올바르게 인스턴스화하려면 어떻게합니까?



Answers

네트워크 공유 및 데이터베이스 액세스를 가능하게하기 위해 특정 ID로 응용 프로그램 풀을 실행합니다. 나는 또한 위의 @ keydon의 answer 읽은 후에 우리가 붙어 있다고 생각했다.

그러나 ID를 구성해야하는 세 가지 위치가 있습니다.

  • 응용 프로그램 풀 - 특정 ID를 사용해야합니다.
  • 웹 사이트 "Connect As"- "응용 프로그램 풀 ID"
  • 익명 인증 옵션은 인증 기능에서 "응용 프로그램 풀 ID"를 사용해야합니다.

그 마지막 하나는 우리가 놓친 것이 었습니다. 처음 두 가지만을 생각해 보면, 위의 위대한 조언을 잘못 읽었습니다.

Question

Windows Server 2012 R2에서 업데이트 KB4340558 (업데이트 내역) / KB4338424 (설치된 업데이트)를 설치 한 후 server.createobject 사용하여 기존 ASP에서 32 비트 모드로 .NET .DLL (interop)을 더 이상 인스턴스화 할 수 없습니다. 0x800A01AD 오류가 발생한다 "ActiveX 구성 요소는 개체를 만들 수 없습니다."

업데이트를 제거하면 오류가 사라집니다. 최선의 노력에도 불구하고 설치 제거에 대한 대체 솔루션을 찾을 수 없었습니다. 업데이트를 다시 설치하고 Windows Server 및 / 또는 COM 개체를 올바르게 인스턴스화 할 수 있도록 DLL에 필요한 모든 변경 작업을 수행하는 것이 좋습니다. 시스템 로그에는 단서도없고 CVE 데이터베이스에는 단서도없고 ASP가 생성하는 오류에 대한 단서도 없습니다. 도와주세요!




우리는 IIS 익명 인증에서 실행되는 Classic ASP 사이트를 지원합니다. 이 응용 프로그램은 COM으로 표시되는 DLL .NET 객체를 인스턴스화합니다.

최근 보안 Windows Update를 적용하고 OS를 재부팅 한 후 응용 프로그램이 다음 오류로 인해 충돌했습니다.

Microsoft VBScript runtime error '800a01ad'
ActiveX component can't create object: 'NameOfObjectInDLL'

우리의 경우이 마지막 조언은 우리의 문제를 해결했습니다.

IIS> 인증> 익명 인증 - 편집> "응용 프로그램 풀 ID"

screenshot1




Related