Cài đặt im lặng gói MSI


84

Tôi có một gói MSI mà tôi cần cài đặt nếu gói này chưa được cài đặt. Ngoài ra tôi cần phải cài đặt nó một cách âm thầm. Gói này nhắc người dùng:

  • Vị trí cài đặt (C: \ Program Files \ Foobar)
  • Loại cài đặt: tối thiểu và đầy đủ (tối thiểu)

Tôi cần ghi đè hai tham số này bằng cách sử dụng các tham số dòng lệnh hoặc một số phương pháp khác. Vì vậy, làm thế nào để tôi đi về hai vấn đề này. Tôi sẽ sử dụng VBScript để viết kịch bản.

Câu trả lời:


129

Bạn sẽ có thể sử dụng /quiethoặc /qncác tùy chọn với msiexecđể thực hiện cài đặt im lặng.

Các gói MSI xuất các thuộc tính công khai, bạn có thể đặt thuộc tính này bằng PROPERTY=valuecú pháp ở cuối các msiexectham số.

Ví dụ: lệnh này cài đặt một gói không có giao diện người dùng và không khởi động lại, với một bản ghi và hai thuộc tính:

msiexec /i c:\path\to\package.msi /quiet /qn /norestart /log c:\path\to\install.log PROPERTY1=value1 PROPERTY2=value2

Bạn có thể đọc các tùy chọn msiexecchỉ bằng cách chạy nó mà không có tùy chọn nào từ Bắt đầu -> Chạy.


6
Có cách nào để tìm danh sách các tham số được chấp nhận ( PROPERTY1PROPERTY2trong ví dụ của bạn) không?
Salman A

Đây là danh sách thuộc tính được xác định trước: msdn.microsoft.com/en-us/library/windows/desktop/… Thuộc tính thư mục cài đặt khác nhau đối với mỗi công cụ tạo thiết lập. Bạn đã sử dụng gì để tạo MSI?
cosmin 19/12/11

@Cosmin: MSI bao gồm các DLL thời gian chạy của hệ thống thanh toán (không phải do tôi tạo). Tôi đang xem một công cụ có tên là Ocra để mổ xẻ MSI, nó đã cho tôi gợi ý về một biến có tên là "INSTALLLOCATION". Tôi đang kiểm tra.
Salman A

7
Lưu ý: msiexec dường như khá kén chọn đường dẫn tệp FULL cho gói MSI. Đừng thử bất kỳ công việc .\mypackage.msikinh doanh này . Cho tôi một chút để tìm ra điều đó.
Phil

4
Tên của sản phẩm MS thực sự là Orca, không phải ocra. Có thể khó google với lỗi chính tả. Bạn có thể nhận được rất nhiều công thức Creole ... nhưng không phải các nhà xây dựng MSI. msdn.microsoft.com/en-us/library/aa370557(v=vs.85).aspx
Scott Lundberg

12

Cách thích hợp để cài đặt MSI một cách âm thầm là msiexec.exe command linenhư sau:

msiexec.exe /i c:\setup.msi /QN /L*V "C:\Temp\msilog.log"

Giải thích nhanh:

 /L*V "C:\Temp\msilog.log"= verbose logging
 /QN = run completely silently
 /i = run install sequence 

Có một câu trả lời toàn diện hơn ở đây: Tập lệnh hàng loạt để cài đặt MSI . Câu trả lời này cung cấp chi tiết về các tùy chọn dòng lệnh msiexec.exe và mô tả về cách tìm "thuộc tính công cộng" mà bạn có thể đặt trên dòng lệnh tại thời điểm cài đặt. Các thuộc tính này thường khác nhau đối với mỗi MSI.

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.