DLL не вдалося запустити для інсталяторів MSI


23

dll неможливо запустити

Я здогадуюсь, що це проблема з інсталятором Windows. Я намагався перезапустити службу, але безрезультатно. Я не в змозі встановити нічого, що закінчується .msi . Іноді я отримую таке повідомлення про помилку:

введіть тут опис зображення

Журнали перегляду подій:

Установник Python:

Продукт: Python 2.7.3 - Помилка 1723. Виникла проблема з цим пакетом інсталятора Windows. Не вдалося запустити DLL, необхідний для завершення цього встановлення. Зверніться до свого сервісного персоналу або постачальника пакетів. Дія CheckDir, запис: _CheckDir @ 4, бібліотека: C: \ Користувачі \ x \ AppData \ Local \ Temp \ MSI570C.tmp

Установник SSDLife:

Продукт: SSDlife Pro - Помилка 1723. Виникла проблема з цим пакетом інсталятора Windows. Не вдалося запустити DLL, необхідний для завершення цього встановлення. Зверніться до свого сервісного персоналу або постачальника пакетів. Дія WIX_TestVersion, запис: WIX_TestVersion, бібліотека: C: \ Користувачі \ x \ AppData \ Місцеві \ 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) оновлений.

Також випробували це виправлення: http://support.microsoft.com/mats/Program_Install_and_Uninstall

Але не вдалося знайти жодних проблем.


@Serge так, avast, зараз спробували відключити та запустити інсталятор, але це, здається, не допоможе
Kedar

очистіть темп-папку та повторіть спробу.
Моав

@Moab nope, це не допомагає
Кедар,

Будь ласка, вкажіть ОС, де ви спостерігаєте за проблемою.
Олексій Іванов

@Moab всі вони
Kedar

Відповіді:


26

Я також зіткнувся з цим питанням. Відповідь Олексія Іванова не дуже допомогла мені, але все ж надихнула мене на розслідування C:\Users\x\AppData\Local\Temp.

Як завжди, повідомлення про помилки були лише наполовину корисними. У моєму випадку DLL не відсутня - інсталятор не мав дозволу на доступ до папки . Я не намагався запустити інсталятор як адміністратор - це не мало сенсу для мене, враховуючи, що я вже використовую обліковий запис адміністратора і очікував би, що UAC обробляє підвищення привілеїв. У будь-якому випадку, як і багато речей у Windows, і вся ця річ є для мене трохи таємницею.

Проте, після того, як буде Properties > Securityна C:\Users\x\AppData\Local\Tempпапці і дають , що дозвіл, монтажники , що попереднє були незадовільні в даний час працюють! Ура! Оскільки вже був і доступ, я підозрюю, що також додав необхідний дозвіл.EveryoneFull controlEveryoneReadWriteFull controlExecute

Мені цікаво, як це сталося в першу чергу і якими мають бути правильні дозволи в цьому каталозі.


1
Це вирішує мою проблему! Але я вважаю, що це проблема безпеки, щоб надати "Кожен" повний доступ до тимчасової папки користувача. Я просто надав собі повний доступ і це працює. За замовчуванням у каталогу просто був "Спеціальні дозволи" для користувача.
Кедар

Так, це має більше сенсу, ніж надання дозволу на Everyone:-). У всякому разі, мені цікаво, яка може бути основна причина цієї проблеми. У мене виникли проблеми з кількома інсталяторами, включаючи інсталятор iTunes - дуже популярний інсталятор! Цікаво, що сталося, коли порушено дозволи на цей каталог.
Дмитро Міньковський

Я перевірив інші обмежені облікові записи / адміністратори на одній машині, і, здається, усі вони мають правильні налаштування.
Кедар

Для мене це не спрацювало (Windows 7, 32 біт). Це зробили . Однак моя помилка полягала в тому, що "з цим пакетом інсталятора Windows є проблема. Запуск програми в рамках установки не завершився, як очікувалося. Зверніться до свого персоналу служби підтримки або постачальника пакета."
aliteralmind

Для мене це не спрацювало, хоча симптоми були схожі. Виявилася конфліктна установка PIP. Це фіксоване мені: stackoverflow.com/a/23350061/797945
JAGU

8

Просте вирішення полягає у запуску командної оболонки в якості адміністратора (просто шукайте cmd.exe, а потім клацніть правою кнопкою миші-> запустити як адміністратор), а потім перейдіть до місця розташування пакету MSI та запустіть msiexec /i packagename.msi. Це працювало для мене.


1
Це не вирішення проблем (не встановлюється все програмне забезпечення належним чином), і воно не працює (для цієї конкретної проблеми)
Kedar

Одна невелика помилка: ось правильна командаmsiexec /i packagename.msi

Це рішення працює ідеально і краще, ніж надання Повних дозволів папки Temp для кожного лише для інсталятора. (Обов’язково прочитайте другий коментар до правильного синтаксису.)
Гаурав Кумар,

+1 Це рішення також повинно бути включено до обраної вище відповіді. Ця обрана відповідь повинна бути крайнім засобом для кожного.
tom_mai78101

1

У вашій системі повинна бути відсутні необхідна DLL.

В обох описаних вами випадках інсталятор Windows намагався виконати власну дію, розташовану в DLL. Ці файли .tmp: C:\Users\x\AppData\Local\Temp\MSI570C.tmpі C:\Users\x\AppData\Local\Temp\MSIA32E.tmpнасправді файли DLL, витягнуті з MSI.

Але чомусь не вдалося завантажити DLL.

Найголовніше - з’ясувати, яка DLL відсутня. Поки на екрані з'являється повідомлення про помилку, перейдіть у свій тимчасовий каталог і перевірте, чи існує ще тимчасовий DLL-файл. Якщо він є, скопіюйте його з розширенням DLL. Потім, щоб дізнатись, якої DLL потрібної програми немає, ви можете скористатися depends.exeутилітою від Visual Studio.

Якщо тимчасовий файл уже видалений, єдиний спосіб отримати DLL - це витягнути його з пакета, з Binaryтаблиці.

У мене є два найімовірніших можливих кандидата: візуальне виконання C ++ відсутнє або. Однак це лише здогадки ...


Я бачу лише те, що журнал помилок створюється в темп-каталозі. Більш нічого. Але дивлячись на витяг файлів з інсталятора, я спробував команду msiexec витягти Python, і всі файли тепер доступні так, як вони були б у звичайній установці. За винятком того, що я не бачу жодного запису у списку встановленого програмного забезпечення. Додаючи python до шляху, він працює так, як очікувалося ...
Kedar

1
Я думаю, це просто відбувається занадто швидко, щоб помітити. Так, ви можете витягти файли з пакета Windows Installer, але він не виконає реєстрацію програми, оскільки продукт не встановлений (з точки зору MSI). Ці файли DLL tmp не є частиною встановленого зображення, вони є помічниками, які запускаються під час встановлення. Щоб отримати його, ви можете скористатися інструментом Orca або декомпілювати msi за допомогою WiX; однак у вас вже є Python.
Олексій Іванов

Я думаю, що можу жити без реєстрації програмного забезпечення. Повна команда: msiexec / a python.msi / qb TARGETDIR = "C: \ install_path"
Kedar


@ 101 Якщо це так, то програма інсталятора зламана, я маю на увазі помилку в ньому: інсталятор не повинен залежати від додаткового програмного забезпечення, включаючи час роботи MSVC - він повинен бути самостійним. Якщо йому потрібен MSVC 2008 або 2010, ці пакети повинні бути встановлені уздовж продукту (що міститься в самому інсталяторі).
Олексій Іванов

0

Я спробував те, що запропонував Дімадіма, але у мене все-таки було невелике питання доступу. Я розкопав інструмент для Win 7 / Vista під назвою взяти на себе власність. Це додає контекстне меню клацанням правою кнопкою миші, і ви можете "Взяти власність". Я думав спробувати, щоб це спрацювало як шарм.

http://www.howtogeek.com/howto/windows-vista/add-take-ownership-to-explorer-right-click-menu-in-vista/


-1

Жодне з цих рішень не працювало для мене, однак, коли я перейшов безпосередньо до папки завантаження, правою кнопкою миші натиснув на піктограму встановлення, яку я хотів виконати, і натиснув "запустити як адміністратор", встановлений без більше повідомлень про помилки.


Інсталятори MSI не мають такої можливості.
Кедар
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.