Câu hỏi Làm cách nào để trích xuất tệp từ gói MSI?


Chúng tôi có một số bản vá lỗi cũ mà chúng tôi muốn nhận các tệp từ nhưng không muốn dành thời gian cài đặt chúng vào máy.

Bất cứ ai có thể tư vấn cho một cách để trích xuất các tập tin từ một gói cài đặt MSI?


172
2018-02-14 12:41


gốc


Bạn có thể cung cấp thêm thông tin về gói cài đặt MSI chính xác mà bạn muốn trích xuất hay không, chi tiết hệ điều hành của bạn, v.v. - Firee


Các câu trả lời:


Đầu tiên, truy cập vào một dấu nhắc lệnh nâng lên, để thực hiện điều này:

  1. Nhấp vào nút Bắt đầu.

  2. Nhấp vào Tất cả chương trình.

  3. Đi vào Phụ kiện.

  4. Nhấp chuột phải vào Command Prompt.

  5. Chọn Run as administrator.

  6. Khi UAC Prompt xuất hiện, hãy nhấp vào Tiếp tục.

Khi bạn có dấu nhắc lệnh nâng lên, hãy nhập như sau:

msiexec /a drive:\filepath\to\MSI\file /qb TARGETDIR=drive:\filepath\to\target\folder

sử dụng các vị trí mong muốn để điền vào các tệp được đề cập ở trên. Thí dụ:

msiexec /a c:\testfile.msi /qb TARGETDIR=c:\temp\test

194
2018-02-14 12:53



một cách nhanh chóng khác của Google đã bật lên điều này: legroom.net/software/uniextract  Tôi muốn sử dụng built-in nhưng nó trông giống như một tiện ích chấp nhận được.
Theo như tôi hiểu (từ msiexec /?), Lệnh này sẽ thực sự cài đặt chương trình đến vị trí đó; Tôi không nghĩ đây là điều người yêu cầu ban đầu có trong đầu.
@ user6738 Tôi đã thử nghiệm điều này và nó không cài đặt phần mềm. Phần mềm này không được tìm thấy trong appwiz cũng như không thể gỡ cài đặt qua msi và báo cáo rằng nó chưa được cài đặt. Nó thực sự trích xuất các tập tin từ thử nghiệm của tôi. - Adam Caviness
Tôi chạy nó trên một máy tính Win8.1 bị khóa (máy tính xách tay) và cần lưu ý rằng Quyền quản trị KHÔNG cần thiết để giải nen .msi các tập tin. - MattDMo
Câu trả lời chính xác! Tôi đặt nó vào extractMSI.cmd tập tin: msiexec /a %1 /qb TARGETDIR="%~d1%~p1%~n1" || pause và thêm nó vào tùy chọn "Mở bằng ..." của tệp msi - Tobias Kienzler


Sử dụng 7Zip.
Nó sẽ giải nén MSI, CAB, một số EXE, và nhiều gói hơn cho bạn. Không cần quyền quản trị để chạy nó.

-CHỈNH SỬA-

Và nguồn mở của nó, do đó, không có thông điệp dai dẳng cầu xin bạn mua những thứ


74
2017-07-07 15:24



và sau khi thử nó, msiexec thực hiện một công việc tốt hơn (bảo toàn các thư mục, đặt tên tệp một cách chính xác, v.v.) - Michael Schubert
Điều này dường như không làm việc cho tôi trên win7 x64 với 32-bit 7-Zip. Có cách nào đặc biệt (không kéo-thả) bạn phải nói với nó để mở tập tin? - ebyrob
Nên có một tùy chọn 7zip trong menu ngữ cảnh khi bạn nhấp chuột phải vào tệp - nó sẽ cung cấp cho bạn tùy chọn trích xuất các tệp - Shekhar
Tôi thấy rất nhiều thứ với dấu chấm than ở phía trước thay vì tệp thực. Tôi đoán một cái gì đó đã thay đổi hoặc tôi có một tập tin msi lẻ. Tôi đã thử 7-Zip 9,20. - mlt
@MichaelSchubert - nó phụ thuộc. Nếu bạn đang chạy một máy không phải Windows, 7Zip là một lựa chọn tốt vì phiên bản dòng lệnh cũng có sẵn cho các hệ thống khác. Phụ thuộc vào trường hợp sử dụng tôi muốn nói. - Per Lundberg


Cũng có lessmsi đó là hoàn toàn miễn phí và mã nguồn mở.

Không có quảng cáo hoặc tin nhắn dai dẳng, nó sẽ bảo vệ cấu trúc thư mục và tên tệp chính xác, có giao diện dòng lệnh phức tạp, cũng như giao diện người dùng đồ họa cho phép duyệt qua các tệp cũng như xem các bảng MSI nội bộ và các thuộc tính MSI khác.


41
2017-12-06 10:18



Cảm ơn! Điều này đã giúp tôi trích xuất từ ​​một MSI mà sẽ không giải nén với lệnh msiexec nói "admin install is not supported" cho <tên gói cài đặt> - axk


Có hỗ trợ MSI cho việc trích xuất tệp (cài đặt quản trị viên)

MSI hoặc Trình cài đặt Windows đã tích hợp sẵn hỗ trợ cho điều này - Trích xuất các tập tin từ một tập tin MSI. Đây được gọi là cài đặt quản trị. Về cơ bản, nó được thiết kế như một cách để tạo điểm cài đặt mạng từ đó cài đặt có thể chạy trên nhiều máy tính mục tiêu. Điều này đảm bảo rằng các tập tin nguồn luôn luôn có sẵn cho bất kỳ hoạt động sửa chữa.

Lưu ý rằng việc chạy quản trị viên cài đặt so với sử dụng công cụ zip để giải nén tệp là rất khác nhau! Cách thứ hai sẽ không điều chỉnh bố cục phương tiện của bảng đa phương tiện để gói được đặt để sử dụng các tệp nguồn bên ngoài - đó là cách chính xác. Luôn luôn muốn chạy cài đặt quản trị thực tế trên bất kỳ trích xuất zip hacky nào. Khi nén, thực tế có ba thuật toán nén khác nhau được sử dụng cho các tệp cab bên trong định dạng tệp MSI: MSZip, LZX và Lưu trữ (không nén). Tất cả những điều này được xử lý một cách chính xác bằng cách thực hiện cài đặt quản trị viên.


Cài đặt quản trị viên có nhiều công dụng

Bạn nên đọc thêm về cài đặt quản trị vì nó là một khái niệm hữu ích và tôi đã viết một bài đăng trên stackoverflow: Mục đích của cài đặt quản trị được bắt đầu bằng cách sử dụng msiexec / a là gì?.

Về bản chất, cài đặt quản trị quan trọng đối với:

  • Trích xuất và kiểm tra các tập tin cài đặt
  • Triển khai thông qua phần mềm quản lý hệ thống chẳng hạn SCCM (Tránh các tệp MSI lớn, được lưu trong C: \ Windows \ Installer vì các tệp được trích xuất từ ​​các cab nội bộ)
  • Đóng gói ứng dụng doanh nghiệp
  • Sửa chữa, sửa đổi và tự sửa chữa hoạt động
  • Vá và nâng cấp
  • Quảng cáo MSI ("chạy từ nguồn" đặc tính)
  • Một số chi tiết nhỏ khác

Vui lòng đọc bài đăng trên stackoverflow được liên kết ở trên để biết thêm chi tiết. Đó là một khái niệm khá quan trọng đối với quản trị hệ thống, gói ứng dụng, thiết lập các nhà phát triển, người quản lý phát hànhngay cả người dùng trung bình để xem những gì họ đang cài đặt, v.v ...


Admin-install, cách thực hành

Bạn có thể thực hiện cài đặt quản trị theo một vài cách khác nhau tùy thuộc vào cách trình cài đặt được phân phối. Về cơ bản, nó được phân phối dưới dạng Tệp MSI hoặc bọc trong một tệp setup.exe.

Chạy các lệnh này từ một lời nhắc lệnh nâng lênvà làm theo hướng dẫn trong GUI cho các dòng lệnh tương tác:

  • Tệp MSI:

    msiexec /a File.msi
    

    đó là để chạy với GUI, bạn có thể làm điều đó một cách âm thầm:

    msiexec /a File.msi TARGETDIR=C:\MyInstallPoint /qn
    
  • tệp setup.exe:

    setup.exe /a
    

A setup.exe tập tin cũng có thể là một thiết lập kiểu cũ (không phải MSI) hay sợ hãi MSI bản cài đặt loại tệp - một loại dự án có tên là Installshield nổi tiếng với định dạng MSI không tuân thủ tiêu chuẩn hybrid. Về cơ bản nó là một MSI với một giao diện tùy chỉnh, tiên tiến hơn, nhưng nó cũng đầy lỗi.

Dành cho tệp setup.exe cũ các / a sẽ không làm gì cả, nhưng bạn có thể thử / extract_all: [path] chuyển đổi như đã giải thích trong pdf này. Nó là một tài liệu tham khảo tốt cho cài đặt im lặng và những thứ khác là tốt. Tài nguyên khác là danh sách các tham số dòng lệnh Installshield setup.exe.

Tập tin vá lỗi MSI (* .MSP) có thể là áp dụng cho hình ảnh quản trị để trích xuất đúng các tệp của nó. 7Zip cũng sẽ có thể trích xuất các tệp, nhưng chúng sẽ không được định dạng đúng.

Cuối cùng, nếu không có cách nào khác hoạt động, bạn có thể giữ các tập tin cài đặt được trích xuất bằng cách dọn dẹp thư mục tạm thời trên hệ thống của bạn, khởi động setup.exe tương tác và sau đó đợi hộp thoại đầu tiên hiển thị. Trong hầu hết các trường hợp, trình cài đặt sẽ trích xuất một loạt các tệp vào một thư mục tạm thời. Đôi khi các tập tin là đồng bằng, thời gian khác trong định dạng CAB, nhưng Winzip, 7Zip hoặc thậm chí Universal Extractor (chưa thử nghiệm sản phẩm này) - có thể mở được.


19
2017-07-25 21:28



Cũng thấy câu trả lời này: superuser.com/questions/307678/… - Stein Åsmul
Cùng một bài đăng trên stackoverflow: stackoverflow.com/a/24987512/129130 (Tôi nên xóa một, nhưng cả hai đều được upvoted và họ đã được sáp nhập gần đây). - Stein Åsmul


Tôi muốn giới thiệu UniExtract để làm cho giải pháp của neoice dễ dàng hơn. Nó thực hiện tương tự, chỉ tự động hơn và cho phép một số phương thức trích xuất các tệp MSI, không chỉ là cài đặt quản trị (như giải pháp của anh ấy đang sử dụng).

UniExtract cũng có thể xử lý gói exe với WISE hoặc InstallShield, cũng như một loạt các định dạng nén khác. Oh, và miễn phí của nó.

Universal Extractor là một chương trình làm   chính xác những gì nó nói: trích xuất các tập tin   từ bất kỳ loại lưu trữ nào, cho dù đó là   một tệp zip đơn giản, một bản cài đặt   chương trình hoặc thậm chí là Trình cài đặt Windows   (.msi) gói.


8
2018-02-18 05:08





Nếu bạn cài đặt Tổng chỉ huy, đây là một plugin để mở và giải nén các tệp MSI.


3
2018-02-14 13:02



Đúng. Nhưng tiếc là chỉ dành cho TC 32 bit - Timores


bạn có thể dùng Orca ứng dụng này là một phần của Platform SDK, nhưng bạn cũng có thể tải xuống ứng dụng từ đây http://astebner.sts.winisp.net/Tools/Orca.zip


1
2018-02-14 12:54



Orca là tốt hơn cho việc trích xuất siêu dữ liệu như tệp, thư mục và bảng đăng ký. Nói chung không hữu ích khi trích xuất các tệp thực sự (hoàn toàn vô dụng nếu các tệp không được lưu trữ trong bảng nhị phân). - Synetech