Nie można uruchomić biblioteki DLL dla instalatorów MSI


23

nie można uruchomić dll

Zgaduję, że to problem z Instalatorem Windows. Próbowałem ponownie uruchomić usługę, ale bez skutku. Nie mogę zainstalować niczego, co kończy się na .msi . Czasami pojawia się taki komunikat o błędzie:

wprowadź opis zdjęcia tutaj

Dzienniki przeglądarki zdarzeń:

Instalator Python:

Produkt: Python 2.7.3 - Błąd 1723. Wystąpił problem z tym pakietem Instalatora Windows. Nie można uruchomić biblioteki DLL wymaganej do ukończenia tej instalacji. Skontaktuj się z personelem pomocy technicznej lub dostawcą pakietu. Działanie CheckDir, wpis: _CheckDir @ 4, biblioteka: C: \ Users \ x \ AppData \ Local \ Temp \ MSI570C.tmp

Instalator SSDLife:

Produkt: SSDlife Pro - błąd 1723. Wystąpił problem z tym pakietem Instalatora Windows. Nie można uruchomić biblioteki DLL wymaganej do ukończenia tej instalacji. Skontaktuj się z personelem pomocy technicznej lub dostawcą pakietu. Działanie WIX_TestVersion, wpis: WIX_TestVersion, biblioteka: C: \ Users \ x \ AppData \ Local \ Temp \ MSIA32E.tmp

Wyszukiwanie przy błędzie 1723: Ten błąd może wystąpić, jeśli masz nieaktualną wersję Instalatora Windows

Mam kilka linków do Instalatora Windows, ale żaden z nich nie ma Windows 7 na liście obsługiwanych systemów operacyjnych.

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

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

System Windows (7 x64) jest aktualny.

Próbowałem także tego Fixit: http://support.microsoft.com/mats/Program_Install_and_Uninstall

Ale nie mógł znaleźć żadnych problemów.


@Serge tak, avast, próbował teraz wyłączyć i uruchomić instalator, ale wydaje się, że to nie pomaga
Kedar

wyczyść folder tymczasowy i spróbuj ponownie.
Moab

@Mab, nie, to nie pomaga
Kedar,

Podaj system operacyjny, w którym występuje problem.
Aleksiej Iwanow

@Moab wszystkie z nich
Kedar

Odpowiedzi:


26

Też natrafiłem na ten problem. Odpowiedź Aleksieja Iwanowa nie całkiem mi pomogła, ale zainspirowała mnie do zbadania sprawy C:\Users\x\AppData\Local\Temp.

Jak zwykle komunikaty o błędach były tylko w połowie przydatne. W moim przypadku nie brakowało biblioteki DLL - instalator nie miał uprawnień dostępu do folderu . Nie próbowałem uruchamiać instalatora jako administrator - nie miało to dla mnie sensu, biorąc pod uwagę, że korzystam już z konta administratora i spodziewałbym się, że UAC obsłuży podniesienie uprawnień. W każdym razie, podobnie jak wiele innych rzeczy w systemie Windows, cała ta sprawa jest dla mnie trochę tajemnicą.

Niemniej jednak, po przejściu do Properties > Securityw C:\Users\x\AppData\Local\Tempfolderze i umożliwieniu temu pozwolenie, instalatorzy, że poprzednie były upadających teraz działa! Brawo! Ponieważ już miałem i dostęp, podejrzewam, że dodał również niezbędne pozwolenie.EveryoneFull controlEveryoneReadWriteFull controlExecute

Zastanawiam się teraz, jak to się stało i jakie powinny być prawidłowe uprawnienia do tego katalogu.


1
To rozwiązuje mój problem! Ale myślę, że zapewnienie bezpieczeństwa „Wszystkim” ma pełny dostęp do folderu tymczasowego użytkownika. Właśnie zapewniłem sobie pełny dostęp i to działa. Domyślnie katalog miał po prostu „Specjalne uprawnienia” dla użytkownika.
Kedar

Tak, to ma więcej sensu niż zezwolenie na Everyone:-). W każdym razie zastanawiam się, jaka może być podstawowa przyczyna tego problemu. Miałem problemy z kilkoma instalatorami, w tym instalatorem iTunes - bardzo popularnym instalatorem! Zastanawiam się, co się stało, że złamało uprawnienia w tym katalogu.
Dmitry Minkovsky,

Sprawdziłem inne konta ograniczone / administracyjne na tym samym komputerze i wydaje się, że wszystkie mają poprawnie ustawione uprawnienia.
Kedar

To nie działało dla mnie (Windows 7, 32-bitowy). Tak się stało . Mój błąd polegał jednak na tym, że „Wystąpił problem z tym pakietem Instalatora Windows. Program uruchomiony w ramach instalacji nie zakończył się zgodnie z oczekiwaniami. Skontaktuj się z obsługą klienta lub dostawcą pakietu”.
aliteralmind

Nie działało to dla mnie, chociaż objawy były podobne. Okazało się, że instalacja PIP powodowała konflikt. To mnie naprawiło: stackoverflow.com/a/23350061/797945
Jagu

8

Prostym obejściem jest uruchomienie powłoki poleceń jako administrator (wystarczy wyszukać cmd.exe, a następnie kliknąć prawym przyciskiem myszy-> uruchomić jako administrator), a następnie przejść do lokalizacji pakietu MSI i uruchomić msiexec /i packagename.msi. To zadziałało dla mnie.


1
To nie jest obejście (nie instaluje poprawnie całego oprogramowania) i nie działa (w przypadku tego konkretnego problemu)
Kedar

Jeden mały błąd: oto właściwe poleceniemsiexec /i packagename.msi

To rozwiązanie działa idealnie i jest lepsze niż udzielanie każdemu tylko Pełnych uprawnień do folderu Temp tylko dla instalatora. (Pamiętaj o przeczytaniu drugiego komentarza, aby uzyskać prawidłową składnię).
Gaurav Kumar

+1 To rozwiązanie powinno zostać uwzględnione w powyższej wybranej odpowiedzi. Ta wybrana odpowiedź powinna być ostatecznością dla wszystkich.
tom_mai78101

1

W systemie brakuje wymaganej biblioteki DLL.

W obu opisywanych przypadkach Instalator Windows próbował wykonać niestandardową akcję znajdującą się w bibliotece DLL. Te pliki .tmp: C:\Users\x\AppData\Local\Temp\MSI570C.tmpi C:\Users\x\AppData\Local\Temp\MSIA32E.tmptak naprawdę są plikami DLL wyodrębnionymi z MSI.

Ale z jakiegoś powodu nie udało się załadować biblioteki DLL.

Najważniejsze jest, aby dowiedzieć się, której biblioteki DLL brakuje. Gdy komunikat o błędzie jest na ekranie, przejdź do katalogu tymczasowego i sprawdź, czy plik tymczasowej biblioteki DLL nadal istnieje. Jeśli tak, skopiuj go z rozszerzeniem DLL. Następnie, aby dowiedzieć się, której biblioteki DLL brakuje, możesz użyć depends.exenarzędzia Visual Studio.

Jeśli plik tymczasowy jest już usunięty, jedynym sposobem na uzyskanie biblioteki DLL jest wyodrębnienie go z pakietu, z Binarytabeli.

Mam dwóch najbardziej prawdopodobnych kandydatów: brakuje środowiska wykonawczego Visual C ++ lub brakuje środowiska wykonawczego .Net. Jednak to tylko przypuszczenie…


Widzę tylko dziennik błędów tworzony w katalogu tymczasowym. Nic więcej. Ale patrząc na wypakowywanie plików z instalatora, wypróbowałem polecenie msiexec, aby wyodrębnić Pythona, a wszystkie pliki są teraz dostępne tak, jak w normalnej instalacji. Tyle że nie widzę żadnego wpisu na liście zainstalowanego oprogramowania. Dodanie pytona do ścieżki działa zgodnie z oczekiwaniami ...
Kedar,

1
Wydaje mi się, że dzieje się to zbyt szybko, by to zauważyć. Tak, możesz wyodrębnić pliki z pakietu Instalatora Windows, ale nie spowoduje to rejestracji programu, ponieważ produkt nie jest zainstalowany (z punktu widzenia MSI). Te pliki DLL tmp nie są częścią obrazu instalacyjnego, są pomocnikami uruchamianymi podczas instalacji. Aby go uzyskać, możesz użyć narzędzia Orca lub dekompilować msi za pomocą WiX; jednak masz już Python.
Aleksiej Iwanow

Myślę, że mogę żyć bez rejestracji oprogramowania. Pełne polecenie: msiexec / a python.msi / qb TARGETDIR = "C: \ ścieżka_instalacyjna"
Kedar


@ 101 Jeśli tak jest, to instalator jest zepsuty, to znaczy, że jest to błąd: instalator nie może zależeć od dodatkowego oprogramowania, w tym środowiska wykonawczego MSVC - musi być samodzielny. Jeśli potrzebuje MSVC 2008 lub 2010, pakiety te należy zainstalować wraz z produktem (zawartym w samym instalatorze).
Aleksiej Iwanow


-1

Żadne z tych rozwiązań nie działało dla mnie, ale kiedy poszedłem bezpośrednio do folderu pobierania, kliknąłem prawym przyciskiem myszy ikonę instalacji, którą chciałem wykonać, i kliknąłem „uruchom jako administrator”, aby zainstalować bez żadnych komunikatów o błędach.


Instalatorzy MSI nie mają tej opcji.
Kedar
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.