DLL tidak dapat dijalankan untuk installer MSI

23

Dll tidak dapat dijalankan

Saya menduga ini masalah dengan Pemasang Windows. Saya sudah mencoba memulai kembali layanan tetapi tidak berhasil. Saya tidak dapat menginstal apa pun yang berakhir dengan .msi . Terkadang saya mendapatkan pesan kesalahan seperti itu:

masukkan deskripsi gambar di sini

Log penampil acara:

Pemasang python:

Produk: Python 2.7.3 - Kesalahan 1723. Ada masalah dengan paket Pemasang Windows ini. DLL yang diperlukan untuk menyelesaikan instalasi ini tidak dapat dijalankan. Hubungi personel pendukung Anda atau vendor paket. Tindakan CheckDir, entri: _CheckDir @ 4, perpustakaan: C: \ Users \ x \ AppData \ Local \ Temp \ MSI570C.tmp

Pemasang SSDLife:

Produk: SSDlife Pro - Kesalahan 1723. Ada masalah dengan paket Pemasang Windows ini. DLL yang diperlukan untuk menyelesaikan instalasi ini tidak dapat dijalankan. Hubungi personel pendukung Anda atau vendor paket. Tindakan WIX_TestVersion, entri: WIX_TestVersion, pustaka: C: \ Users \ x \ AppData \ Local \ Temp \ MSIA32E.tmp

Mencari kesalahan 1723: Kesalahan ini dapat terjadi jika Anda memiliki versi Windows Installer yang kedaluwarsa

Saya mendapat beberapa tautan untuk Pemasang Windows tetapi tidak satu pun dari mereka memiliki Windows 7 pada daftar sistem operasi yang didukung.

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

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

Windows (7 x64) terbaru.

Juga mencoba Fixit ini: http://support.microsoft.com/mats/Program_Install_and_Uninstall

Tetapi tidak menemukan masalah.

Kedar
sumber
@Jadi ya, avast, mencoba menonaktifkan dan menjalankan installer sekarang, tetapi sepertinya tidak membantu
Kedar
bersihkan folder temp Anda dan coba lagi.
Moab
@ Moab nggak, itu tidak membantu
Kedar
Silakan tentukan OS tempat Anda mengamati masalah tersebut.
Alexey Ivanov
@ Moo semuanya
Kedar

Jawaban:

26

Saya mengalami masalah ini juga. Tanggapan Alexey Ivanov tidak cukup membantu saya, tetapi itu, bagaimanapun, mengilhami saya untuk menyelidiki C:\Users\x\AppData\Local\Temp.

Seperti biasa, pesan kesalahan hanya setengah berguna. Dalam kasus saya, DLL tidak hilang - penginstal tidak memiliki izin untuk mengakses folder . Saya tidak mencoba menjalankan installer sebagai administrator - ini tidak masuk akal bagi saya mengingat saya sudah menggunakan akun admin dan akan mengharapkan UAC untuk menangani peningkatan hak istimewa. Ngomong-ngomong, seperti banyak hal di Windows, semua ini sedikit menjadi misteri bagi saya.

Namun demikian, setelah pergi ke Properties > Securitypada C:\Users\x\AppData\Local\Tempfolder dan memberikan yang Everyonesatu Full controlizin, installer yang sebelumnya telah gagal sekarang bekerja! Hore! Karena Everyonesudah memiliki Readdan Writemengakses, saya menduga itu Full controljuga menambahkan Executeizin yang diperlukan .

Yang saya bertanya-tanya, sekarang, adalah bagaimana ini terjadi di tempat pertama, dan apa hak izin pada direktori ini seharusnya.

Dmitry Minkovsky
sumber
1
Ini menyelesaikan masalah saya! Tapi saya pikir ini masalah keamanan untuk memberikan akses penuh 'Semua Orang' ke folder temp pengguna. Saya hanya memberi diri saya akses penuh dan itu berhasil. Secara default direktori tersebut hanya memiliki 'Izin Khusus' untuk pengguna.
Kedar
Ya, itu lebih masuk akal daripada memberikan izin kepada Everyone:-). Ngomong-ngomong, saya bertanya-tanya apa penyebab masalah ini. Saya mengalami masalah dengan beberapa pemasang, termasuk pemasang iTunes — pemasang yang sangat populer! Saya bertanya-tanya apa yang terjadi yang merusak izin pada direktori itu.
Dmitry Minkovsky
Saya memeriksa akun admin / terbatas lainnya pada mesin yang sama dan semuanya tampaknya memiliki izin yang ditetapkan dengan benar.
Kedar
Ini tidak berhasil untuk saya (Windows 7, 32 bit). Ini benar . Namun, kesalahan saya adalah "Ada masalah dengan paket Pemasang Windows ini. Program berjalan sebagai bagian dari pengaturan tidak selesai seperti yang diharapkan. Hubungi personel pendukung Anda atau vendor paket."
aliteralmind
Ini tidak berhasil untuk saya meskipun gejalanya mirip. Ternyata menjadi instalasi PIP yang saling bertentangan. Ini memperbaiki saya: stackoverflow.com/a/23350061/797945
Jagu
8

Solusi sederhana adalah dengan menjalankan perintah shell sebagai administrator (cukup cari cmd.exe dan klik kanan-> jalankan sebagai administrator), dan kemudian pergi ke lokasi paket MSI dan jalankan msiexec /i packagename.msi. Itu berhasil untuk saya.

Marco Lanzetta
sumber
1
Ini bukan solusi (tidak menginstal semua perangkat lunak dengan benar), dan tidak berfungsi (untuk masalah khusus ini)
Kedar
Satu kesalahan kecil: Ini perintah yang benarmsiexec /i packagename.msi
Solusi ini berfungsi dengan baik dan lebih baik daripada memberikan Izin Penuh dari folder Temp ke Semua Orang hanya untuk installer. (Pastikan untuk membaca komentar kedua untuk sintaks yang benar.)
Gaurav Kumar
+1 Solusi ini juga harus dimasukkan dalam jawaban yang dipilih di atas. Jawaban yang dipilih itu harus menjadi pilihan terakhir semua orang.
tom_mai78101
1

Sistem Anda harus melewatkan DLL yang diperlukan.

Dalam kedua kasus yang Anda jelaskan, Penginstal Windows mencoba menjalankan tindakan kustom yang terletak di DLL. File-file .tmp: C:\Users\x\AppData\Local\Temp\MSI570C.tmpdan C:\Users\x\AppData\Local\Temp\MSIA32E.tmpbenar-benar file DLL yang diekstrak dari MSI.

Tetapi karena alasan tertentu gagal memuat DLL.

Yang paling penting adalah mencari tahu DLL mana yang hilang. Saat pesan kesalahan ada di layar, buka direktori temp Anda dan lihat apakah file DLL temp masih ada. Jika ada, salin dengan ekstensi DLL. Kemudian untuk mengetahui DLL mana yang diperlukan yang hilang, Anda dapat menggunakan depends.exeutilitas dari Visual Studio.

Jika file temp sudah dihapus, satu-satunya cara untuk mendapatkan DLL adalah mengekstraknya dari paket, dari Binarytabel.

Saya memiliki dua kandidat yang paling mungkin: runtime Visual C ++ hilang atau .Net runtime hilang. Namun, itu hanya dugaan ...

Alexey Ivanov
sumber
Saya hanya melihat log kesalahan yang dibuat di direktori temp. Tidak ada lagi. Tapi melihat ke mengekstraksi file dari installer, saya mencoba perintah msiexec untuk mengekstrak Python dan semua file sekarang tersedia karena mereka akan berada dalam instalasi normal. Kecuali saya tidak melihat entri dalam daftar perangkat lunak yang diinstal. Menambahkan python ke path, ini berfungsi seperti yang diharapkan ...
Kedar
1
Saya kira itu terjadi terlalu cepat untuk diperhatikan. Ya, Anda dapat mengekstrak file dari paket Pemasang Windows, tetapi tidak akan melakukan registrasi program karena produk tidak diinstal (dari sudut pandang MSI). File-file DLL tmp ini bukan bagian dari gambar instalasi, mereka adalah pembantu yang dijalankan selama instalasi. Untuk mendapatkannya, Anda bisa menggunakan alat Orca atau mendekompilasi MSI dengan WiX; Namun, Anda sudah punya Python.
Alexey Ivanov
Saya pikir saya bisa hidup tanpa perangkat lunak terdaftar. Perintah lengkap: msiexec / a python.msi / qb TARGETDIR = "C: \ install_path"
Kedar
@ 101 Jika ini masalahnya, maka penginstalasinya rusak, maksud saya ini adalah bug di dalamnya: penginstal tidak harus bergantung pada perangkat lunak tambahan, termasuk runtime MSVC - itu harus mandiri. Jika perlu MSVC 2008 atau 2010, maka paket-paket ini harus diinstal di sepanjang produk (terkandung dalam installer itu sendiri).
Alexey Ivanov
-1

Tidak ada solusi yang bekerja untuk saya, namun ketika saya langsung pergi ke folder unduhan, klik kanan ikon instalasi yang ingin saya lakukan, dan klik "jalankan sebagai administrator" yang diinstal tanpa pesan kesalahan lagi.

girlymomma88
sumber
Pemasang MSI tidak memiliki opsi itu.
Kedar