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


23

dll을 실행할 수 없습니다

Windows Installer에 문제가 있다고 생각합니다. 서비스를 다시 시작했지만 효과가 없습니다. .msi로 끝나는 것은 설치할 수 없습니다 . 때로는 그런 오류 메시지가 나타납니다.

여기에 이미지 설명을 입력하십시오

이벤트 뷰어 로그 :

파이썬 설치 프로그램 :

제품 : 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

그러나 문제를 찾지 못했습니다.


@Serge 예, avast, 지금 설치 프로그램을 비활성화하고 실행하려고 시도했지만 도움이되지 않는 것 같습니다.
Kedar

임시 폴더를 정리하고 다시 시도하십시오.
Moab

@Moab nope, 도움이되지 않습니다
Kedar

문제가 발생한 OS를 지정하십시오.
Alexey Ivanov

@Moab 그들 모두
Kedar

답변:


26

나도이 문제에 부딪쳤다. Alexey Ivanov의 답변은 그다지 도움이되지 않았지만, 조사해 보라고 영감을주었습니다 C:\Users\x\AppData\Local\Temp.

평소와 같이 오류 메시지는 절반 만 유용했습니다. 필자의 경우 DLL이 누락되지 않았습니다 . 설치 관리자가 폴더에 액세스 할 수있는 권한이 없습니다 . 설치 관리자를 관리자로 실행하려고 시도하지 않았습니다. 이미 관리자 계정을 사용하고 있고 UAC가 권한 상승을 처리 할 것으로 예상했을 때이 방법이 의미가 없었습니다. 어쨌든 Windows의 많은 것들과 마찬가지로이 모든 것은 나에게 약간의 신비입니다.

그럼에도 불구하고,가는 후 Properties > Security상의 C:\Users\x\AppData\Local\Temp폴더와 있음을주는 권한, 설치 이전 지금 일을 실패했던 것을! 만세! 이미 가지고 있고 액세스 했기 때문에 필요한 권한 도 추가 한 것으로 보입니다 .EveryoneFull controlEveryoneReadWriteFull controlExecute

제가 지금 궁금한 점은 이것이 처음에 어떻게 발생했는지와이 디렉토리에 대한 올바른 권한이 무엇인지입니다.


1
이것은 내 문제를 해결합니다! 그러나 '모든 사람'에게 사용자의 임시 폴더에 대한 모든 액세스 권한을 부여하는 것은 보안 문제라고 생각합니다. 나는 방금 나에게 모든 권한을 부여했고 그 일을했다. 기본적으로 디렉토리에는 사용자에 대한 '특별 권한'이 있습니다.
Kedar

예, 그것은 Everyone:-)에 권한을 부여하는 것보다 더 의미가 있습니다. 어쨌든, 나는이 문제의 근본 원인이 무엇인지 궁금합니다. iTunes 설치 프로그램 (인기있는 설치 프로그램)을 포함한 여러 설치 프로그램에 문제가있었습니다. 그 디렉토리에서 권한이 끊어진 일이 궁금합니다.
Dmitry Minkovsky

같은 컴퓨터에서 다른 제한된 / 관리자 계정을 확인했는데 모든 권한이 올바르게 설정된 것 같습니다.
Kedar

이것은 나를 위해 작동하지 않았습니다 (Windows 7, 32 비트). 이 않았다 . 그러나 내 오류는 "이 Windows Installer 패키지에 문제가 있습니다. 설치 과정에서 프로그램 실행이 예상대로 완료되지 않았습니다. 지원 담당자 또는 패키지 공급 업체에 문의하십시오."
aliteralmind

증상이 비슷했지만 이것은 효과가 없었습니다. 충돌하는 PIP 설치로 밝혀졌습니다. 이 문제가 해결되었습니다 : stackoverflow.com/a/23350061/797945
Jagu

8

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


1
해결 방법이 아니며 (모든 소프트웨어를 올바르게 설치하지는 않음) 작동하지 않습니다 (특정 문제의 경우)
Kedar

하나의 작은 실수 : 여기에 올바른 명령이 있습니다msiexec /i packagename.msi

이 솔루션은 완벽하게 작동하며 설치 프로그램의 모든 사용자에게 Temp 폴더의 전체 권한을 부여하는 것보다 낫습니다. (올바른 구문에 대해서는 두 번째 주석을 읽으십시오.)
Gaurav Kumar

+1이 솔루션은 위에서 선택한 답변에도 포함되어야합니다. 선택한 답변은 모두의 최후의 수단이되어야합니다.
tom_mai78101

1

시스템에 필요한 DLL이 없어야합니다.

두 경우 모두 Windows Installer는 DLL에있는 사용자 지정 작업을 실행하려고했습니다. 이러한 .tmp 파일은 : C:\Users\x\AppData\Local\Temp\MSI570C.tmpC:\Users\x\AppData\Local\Temp\MSIA32E.tmp정말 MSI에서 추출 된 DLL 파일입니다.

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

가장 중요한 것은 누락 된 DLL을 찾는 것입니다. 오류 메시지가 화면에 표시되는 동안 임시 디렉토리로 이동하여 임시 DLL 파일이 여전히 존재하는지 확인하십시오. 있는 경우 DLL 확장명으로 복사하십시오. 그런 다음 필요한 DLL 중 누락 된 DLL을 찾으려면 depends.exeVisual Studio에서 유틸리티를 사용할 수 있습니다 .

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

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


temp 디렉토리에만 오류 로그가 생성되는 것을 볼 수 있습니다. 다른 건 없어 그러나 설치 프로그램에서 파일을 추출하는 과정에서 msiexec 명령을 사용하여 Python을 추출하면 모든 파일이 정상적으로 설치되는 것처럼 사용할 수 있습니다. 설치된 소프트웨어 목록에 항목이 표시되지 않습니다. 경로에 파이썬을 추가하면 예상대로 작동합니다.
Kedar

1
나는 그것이 너무 빨리 알아 차릴 수 있다고 생각합니다. 예, Windows Installer 패키지에서 파일을 추출 할 수 있지만 제품이 설치되어 있지 않기 때문에 (MSSI 관점에서) 프로그램 등록을 수행하지 않습니다. 이 tmp DLL 파일은 설치 이미지의 일부가 아니며 설치 중에 실행되는 도우미입니다. 이를 얻기 위해 Orca 도구를 사용하거나 WiX로 msi를 디 컴파일 할 수 있습니다. 그러나 이미 Python을 가지고 있습니다.
Alexey Ivanov

소프트웨어를 등록하지 않아도 살 수 있다고 생각합니다. 전체 명령 : msiexec / a python.msi / qb TARGETDIR = "C : \ install_path"
Kedar


@ 101 만약 그렇다면, 인스톨러가 망가 졌다면, 버그가 있다는 것을 의미합니다 : 인스톨러는 MSVC 런타임을 포함한 추가 소프트웨어에 의존하지 않아야합니다-그것은 독립적이어야합니다. MSVC 2008 또는 2010이 필요한 경우 이러한 패키지는 제품과 함께 설치해야합니다 (설치 프로그램 자체에 포함되어 있음).
Alexey Ivanov


-1

이 솔루션들 중 어느 것도 나에게 도움이되지는 않았지만 다운로드 폴더로 직접 이동했을 때 수행하려는 설치 아이콘을 마우스 오른쪽 버튼으로 클릭하고 더 이상 오류 메시지없이 설치 된 "관리자 권한으로 실행"을 클릭했습니다.


MSI 설치 관리자에는 해당 옵션이 없습니다.
Kedar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.