일부 VB6 COM OBJECTS를 참조하는 ASP Classic 응용 프로그램이 있습니다. 이 VB6 COM OBJECTS 중 하나는 타사 .Net DLL을 참조합니다.gacutil없이 64 비트 DLL을 등록하는 방법
타사 .Net DLL은 Windows Server 2008 R2 x64 시스템에 등록해야합니다.
내가 PowerShell을 (참조 : http://weblogs.asp.net/adweigert/archive/2008/10/31/powershell-install-gac-gacutil-for-powershell.aspx)를 사용하여 GACUTIL없이 GAC에 DLL을 등록하는 스크립트를 발견했다
을 지금은 어셈블리를 등록해야합니다. 내 로컬 개발 컴퓨터 (x86)에서 GACUTIL과 REGASM을 모두 문제없이 사용했습니다. 그러나 테스트 서버에서 DLL을 가져 오려고하면 문제가 발생합니다.
첫 번째 문제 : NO GACUTIL
내가 위에서 언급 한 스크립트를 사용하여 주변에있어 서버에서 더 GACUTIL 없다. SDK를 사용하여 설치할 수 있음을 이해하지만 환경을 "오염"시키고 싶지 않습니다.
두 번째 문제 : RegAsm을 조립에게
닷넷 프레임 워크가 DLL을 찾을 수없는 32 비트 아래 RegAsm을 찾을 수 없습니다. 오류가보고되었습니다 : "RegAsm : 오류 RA0000 : 입력 어셈블리 'C : \ Windows \ System32 \ xxxxx.dll'또는 해당 종속성 중 하나를 찾을 수 없습니다."
그래서 RegAsm의 64 비트 변형을 사용했고 효과가있었습니다.
내 관심사는 ASP classic이 32 비트 RegAsm에 의해 등록되지 않았으므로 어셈블리를 찾지 못한다는 점에서 오 염려입니다.
내 응용 프로그램을 실행합니다. 내 이벤트 로그에 "ActiveX 구성 요소가 개체를 만들 수 없습니다."오류가 발생합니다. 일반적으로 개체를 만들 수 없기 때문에 발생합니다. 즉, 개체를 호스팅하는 DLL이 올바르게 등록되지 않았다는 의미입니다.
그래서 지금하려고하는 것은 32Bit 범위에서 어셈블리를 등록 할 powershell을 사용하는 REGASM에 대한 대체 방법이 있는지 알아 보는 것입니다.
그게 가능하고 어떤 스크립트가 제대로 작동하는지 알고있는 사람이 있습니까?
정보를 제공해 주셔서 감사 드리며 ... 지금 당황하고 있습니다. –
안녕 JP, 문제가 결국 무엇에 관해서는 더 많은 정보에 대한 내 대답을 읽어보십시오. 도움과 재미있는 독서를 가져 주셔서 감사합니다. 확실히 UAC 가상화를 염두에 두어야합니다. –