DLL không thể chạy cho trình cài đặt MSI


23

dll không thể chạy

Tôi đoán đó là một vấn đề với Windows Installer. Tôi đã thử khởi động lại dịch vụ nhưng không có kết quả. Tôi không thể cài đặt bất cứ thứ gì kết thúc bằng .msi . Đôi khi tôi nhận được một thông báo lỗi như vậy:

nhập mô tả hình ảnh ở đây

Nhật ký người xem sự kiện:

Trình cài đặt Python:

Sản phẩm: Python 2.7.3 - Lỗi 1723. Có sự cố với gói Windows Installer này. Một DLL yêu cầu cho cài đặt này để hoàn thành không thể chạy. Liên hệ với nhân viên hỗ trợ hoặc nhà cung cấp gói. Hành động CheckDir, mục nhập: _CheckDir @ 4, thư viện: C: \ Users \ x \ AppData \ Local \ Temp \ MSI570C.tmp

Trình cài đặt SSDLife:

Sản phẩm: SSDlife Pro - Lỗi 1723. Có sự cố với gói Windows Installer này. Một DLL yêu cầu cho cài đặt này để hoàn thành không thể chạy. Liên hệ với nhân viên hỗ trợ hoặc nhà cung cấp gói. Hành động WIX_TestVersion, mục nhập: WIX_TestVersion, thư viện: C: \ Users \ x \ AppData \ Local \ Temp \ MSIA32E.tmp

Tìm kiếm trên lỗi 1723: Lỗi này có thể xảy ra nếu bạn có phiên bản Windows Installer lỗi thời

Tôi có một vài liên kết cho Windows Installer nhưng cả hai đều không có Windows 7 trong danh sách các hệ điều hành được hỗ trợ.

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

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

Windows (7 x64) được cập nhật.

Cũng đã thử bản sửa lỗi này: http://support.microsoft.com/mats/Program_Install_and_Uninstall

Nhưng nó không thể tìm thấy bất kỳ vấn đề.


@Serge có, avast, đã thử vô hiệu hóa và chạy trình cài đặt ngay bây giờ, nhưng dường như không có ích gì
Kedar

làm sạch thư mục tạm thời của bạn và thử lại.
Moab

@Moab không, điều đó không có ích
Kedar

Vui lòng chỉ định HĐH nơi bạn quan sát vấn đề.
Alexey Ivanov

@Moab tất cả bọn họ
Kedar

Câu trả lời:


26

Tôi cũng gặp phải vấn đề này Phản ứng của Alexey Ivanov không giúp tôi được gì, tuy nhiên, nó đã truyền cảm hứng cho tôi điều tra C:\Users\x\AppData\Local\Temp.

Như thường lệ, thông báo lỗi chỉ hữu ích một nửa. Trong trường hợp của tôi, DLL không bị thiếu-- trình cài đặt không có quyền truy cập vào thư mục . Tôi đã không thử chạy trình cài đặt với tư cách quản trị viên - điều này không hợp lý với tôi vì tôi đã sử dụng tài khoản quản trị viên và sẽ mong đợi UAC xử lý độ cao đặc quyền. Dù sao, giống như nhiều thứ trong Windows, toàn bộ điều này là một chút bí ẩn đối với tôi.

Tuy nhiên, sau khi đi Properties > Securityvào C:\Users\x\AppData\Local\Tempthư mục và cho rằng Everyonecác Full controlphép, trình cài đặt mà trước đó đã bị thất bại tại làm việc! Hoan hô! Vì Everyoneđã có ReadWritetruy cập, tôi nghi ngờ rằng Full controlcũng đã thêm một sự Executecho phép cần thiết .

Bây giờ, điều tôi tự hỏi là làm thế nào điều này xảy ra ở nơi đầu tiên, và những quyền chính xác trong thư mục này được cho là gì.


1
Điều này giải quyết vấn đề của tôi! Nhưng tôi nghĩ đó là vấn đề bảo mật để cung cấp cho 'Mọi người' quyền truy cập đầy đủ vào thư mục tạm thời của người dùng. Tôi chỉ cấp cho mình quyền truy cập đầy đủ và điều đó làm việc. Mặc định thư mục vừa có 'Quyền đặc biệt' cho người dùng.
Kedar

Vâng, điều đó có ý nghĩa hơn là cho phép Everyone:-). Dù sao, tôi tự hỏi nguyên nhân sâu xa của vấn đề này có thể là gì. Tôi đã gặp sự cố với một số trình cài đặt, bao gồm trình cài đặt iTunes, một trình cài đặt rất phổ biến! Tôi tự hỏi những gì đã xảy ra mà phá vỡ quyền trên thư mục đó.
Dmitry Minkovsky

Tôi đã kiểm tra các tài khoản quản trị / giới hạn khác trên cùng một máy và tất cả chúng đều có quyền được đặt chính xác.
Kedar

Điều này không làm việc cho tôi (Windows 7, 32 bit). Điều này đã làm . Tuy nhiên, lỗi của tôi là "Có vấn đề với gói Windows Installer này. Chương trình chạy như một phần của thiết lập không hoàn thành như mong đợi. Liên hệ với nhân viên hỗ trợ hoặc nhà cung cấp gói của bạn."
aliteralmind

Điều này không làm việc cho tôi mặc dù các triệu chứng tương tự nhau. Hóa ra là một cài đặt PIP xung đột. Điều này đã sửa tôi: stackoverflow.com/a/23350061/797945
Jagu

8

Một cách giải quyết đơn giản là chạy shell lệnh với tư cách quản trị viên (chỉ cần tìm kiếm cmd.exe và sau đó nhấp chuột phải-> chạy với tư cách quản trị viên), sau đó đi đến vị trí của gói MSI và chạy msiexec /i packagename.msi. Nó làm việc cho tôi.


1
Đây không phải là cách giải quyết (không cài đặt tất cả phần mềm đúng cách) và nó không hoạt động (đối với sự cố cụ thể này)
Kedar

Một lỗi nhỏ: Đây là lệnh đúngmsiexec /i packagename.msi

Giải pháp này hoạt động hoàn hảo và tốt hơn là cung cấp toàn bộ thư mục Temp cho mọi người chỉ cho một trình cài đặt. (Đảm bảo đọc nhận xét thứ hai cho cú pháp đúng.)
Gaurav Kumar

+1 Giải pháp này cũng nên được đưa vào câu trả lời được chọn ở trên. Đó là câu trả lời được chọn nên là phương sách cuối cùng của mọi người.
tom_mai78101

1

Hệ thống của bạn phải thiếu một DLL yêu cầu.

Trong cả hai trường hợp bạn mô tả, Windows Installer đã cố thực hiện một hành động tùy chỉnh nằm trong DLL. Những tệp .tmp đó: C:\Users\x\AppData\Local\Temp\MSI570C.tmpC:\Users\x\AppData\Local\Temp\MSIA32E.tmpthực sự là các tệp DLL được trích xuất từ ​​MSI.

Nhưng vì một số lý do, nó không tải được DLL.

Điều quan trọng nhất là tìm ra DLL nào bị thiếu. Trong khi thông báo lỗi xuất hiện trên màn hình, hãy chuyển đến thư mục tạm thời của bạn và xem liệu tệp tạm thời DLL có còn tồn tại không. Nếu nó ở đó, sao chép nó với phần mở rộng DLL. Sau đó, để tìm ra DLL nào trong số những cái bắt buộc bị thiếu, bạn có thể sử dụng depends.exetiện ích từ Visual Studio.

Nếu tệp tạm thời đã bị xóa, cách duy nhất để nhận DLL là trích xuất nó từ gói, từ Binarybảng.

Tôi có hai ứng cử viên có thể xảy ra nhất: Thời gian chạy Visual C ++ bị thiếu hoặc thời gian chạy .Net bị thiếu. Tuy nhiên, đó chỉ là phỏng đoán


Tôi chỉ thấy nhật ký lỗi được tạo trong thư mục temp. Không có gì khác. Nhưng khi xem xét giải nén các tệp từ trình cài đặt, tôi đã thử lệnh msiexec để giải nén Python và tất cả các tệp hiện có sẵn như chúng sẽ ở trong một bản cài đặt bình thường. Ngoại trừ tôi không thấy bất kỳ mục nào trong danh sách các phần mềm được cài đặt. Thêm python vào đường dẫn, nó hoạt động như mong đợi ...
Kedar

1
Tôi đoán nó chỉ xảy ra quá nhanh để thông báo. Có, bạn có thể trích xuất các tệp từ gói Windows Installer, nhưng nó sẽ không thực hiện đăng ký chương trình vì sản phẩm chưa được cài đặt (theo quan điểm của MSI). Các tệp DLL tmp này không phải là một phần của hình ảnh cài đặt, chúng là các trình trợ giúp được chạy trong khi cài đặt. Để có được nó, bạn có thể sử dụng công cụ Orca hoặc dịch ngược msi với WiX; tuy nhiên, bạn đã có Python.
Alexey Ivanov

Tôi nghĩ rằng tôi có thể sống mà không cần đăng ký phần mềm. Lệnh đầy đủ: msiexec / a python.msi / qb TARGETDIR = "C: \ install_path"
Kedar


@ 101 Nếu đúng như vậy, thì trình cài đặt bị hỏng, ý tôi là đó là một lỗi trong đó: trình cài đặt không được phụ thuộc vào phần mềm bổ sung, bao gồm cả thời gian chạy MSVC - nó phải được khép kín. Nếu nó cần MSVC 2008 hoặc 2010, thì các gói này phải được cài đặt dọc theo sản phẩm (có trong chính trình cài đặt).
Alexey Ivanov

0

Tôi đã thử những gì Dimadima đề xuất nhưng tôi vẫn gặp một chút vấn đề truy cập. Tôi đã đào một công cụ cho Win 7 / Vista được gọi là quyền sở hữu. Nó thêm một menu theo ngữ cảnh để nhấp chuột phải và bạn có thể 'Nhận quyền sở hữu'. Tôi nghĩ để thử rằng nó hoạt động như một bùa mê.

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


-1

Không có giải pháp nào trong số này làm việc cho tôi, tuy nhiên khi tôi truy cập trực tiếp vào thư mục tải xuống, nhấp chuột phải vào biểu tượng cài đặt tôi muốn thực hiện và nhấp vào "chạy với tư cách quản trị viên" mà nó đã cài đặt mà không cần thêm thông báo lỗi nào.


Trình cài đặt MSI không có tùy chọn đó.
Kedar
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.