MSI 설치 프로그램에 대해 DLL을 실행할 수 없습니다.

MSI 설치 프로그램에 대해 DLL을 실행할 수 없습니다.

DLL을 실행할 수 없습니다

Windows Installer에 문제가 있는 것 같습니다. 서비스를 다시 시작해 보았지만 아무런 효과가 없었습니다. 다음으로 끝나는 항목을 설치할 수 없습니다..msi. 가끔 다음과 같은 오류 메시지가 나타납니다.

여기에 이미지 설명을 입력하세요

이벤트 뷰어 로그:

Python 설치 프로그램:

제품: Python 2.7.3 -- 오류 1723. 이 Windows Installer 패키지에 문제가 있습니다. 이 설치를 완료하는 데 필요한 DLL을 실행할 수 없습니다. 지원 담당자나 패키지 공급업체에 문의하세요. 작업 CheckDir, 항목: _CheckDir@4, 라이브러리: C:\Users\x\AppData\Local\Temp\MSI570C.tmp

SSDLife 설치 프로그램:

제품: SSDlife Pro -- 오류 1723. 이 Windows Installer 패키지에 문제가 있습니다. 이 설치를 완료하는 데 필요한 DLL을 실행할 수 없습니다. 지원 담당자나 패키지 공급업체에 문의하세요. 작업 WIX_TestVersion, 항목: WIX_TestVersion, 라이브러리: C:\Users\x\AppData\Local\Temp\MSIA32E.tmp

오류 1723 검색 중:이 오류는 Windows Installer 버전이 오래된 경우 발생할 수 있습니다.

Windows Installer에 대한 링크가 몇 개 있지만 둘 다 지원되는 운영 체제 목록에 Windows 7이 없습니다.

https://www.microsoft.com/en-us/download/details.aspx?id=25그리고

https://www.microsoft.com/en-us/download/details.aspx?id=8483&WT.mc_id=MSCOM_EN_US_DLC_DETAILS_131Z4ENUS22007

Windows(7 x64)가 최신 버전입니다.

또한 이 Fixit을 시도했습니다.http://support.microsoft.com/mats/Program_Install_and_Uninstall

그러나 아무런 문제도 발견하지 못했습니다.

답변1

나도 이 문제에 직면했다. Alexey Ivanov의 답변은 나에게 큰 도움이 되지는 않았지만 조사에 대한 영감을 주었습니다 C:\Users\x\AppData\Local\Temp.

늘 그렇듯이 오류 메시지는 절반 정도만 유용했습니다. 제 경우에는 DLL이 누락되지 않았습니다.설치 프로그램에 폴더에 액세스할 수 있는 권한이 없습니다.. 관리자 권한으로 설치 프로그램을 실행하려고 시도하지 않았습니다. 이미 관리자 계정을 사용하고 있고 UAC가 권한 상승을 처리할 것으로 예상했다는 점을 고려하면 이는 이해가 되지 않습니다. 어쨌든, Windows의 많은 것들과 마찬가지로 이 모든 것도 나에게는 약간 미스터리입니다.

그럼에도 불구하고 폴더 Properties > Security로 이동하여 해당 폴더를 C:\Users\x\AppData\Local\Temp제공한 후EveryoneFull control허가를 받아 이전에 실패했던 설치 프로그램이 이제 작동했습니다! 만세! Everyone이미 액세스 권한 Read이 있으므로 필요한 권한도 추가한 Write것으로 생각됩니다 .Full controlExecute

지금 내가 궁금한 것은 처음에 이런 일이 어떻게 발생했는지, 그리고 이 디렉터리에 대한 올바른 권한은 무엇이어야 하는지입니다.

답변2

간단한 해결 방법은 관리자 권한으로 명령 셸을 실행한 다음(cmd.exe를 검색한 다음 마우스 오른쪽 버튼을 클릭하고 관리자 권한으로 실행) MSI 패키지 위치로 이동하여 를 실행하는 것입니다 msiexec /i packagename.msi. 그것은 나를 위해 일했습니다.

답변3

시스템에 필수 DLL이 누락되어 있어야 합니다.

설명하는 두 경우 모두 Windows Installer는 DLL에 있는 사용자 지정 작업을 실행하려고 했습니다. 해당 .tmp 파일은 C:\Users\x\AppData\Local\Temp\MSI570C.tmp실제로 C:\Users\x\AppData\Local\Temp\MSIA32E.tmpMSI에서 추출된 DLL 파일입니다.

그러나 어떤 이유로 DLL을 로드하지 못했습니다.

가장 중요한 것은 어떤 DLL이 누락되었는지 찾는 것입니다. 오류 메시지가 화면에 표시되는 동안 임시 디렉터리로 이동하여 임시 DLL 파일이 아직 존재하는지 확인하세요. 거기에 있으면 DLL 확장자로 복사하십시오. 그런 다음 필요한 DLL 중 누락된 DLL을 찾으려면 depends.exeVisual Studio의 유틸리티를 사용할 수 있습니다.

임시 파일이 이미 제거된 경우 DLL을 얻는 유일한 방법은 패키지에서 추출하는 것입니다.Binary테이블.

가장 가능성이 높은 두 가지 후보가 있습니다. Visual C++ 런타임이 없거나 .Net 런타임이 없습니다. 하지만, 그것은 단지 추측일 뿐입니다…

답변4

이러한 솔루션 중 어느 것도 효과가 없었지만 다운로드 폴더로 직접 이동하여 수행하려는 설치 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 클릭하면 더 이상 오류 메시지 없이 설치되었습니다.

관련 정보