gói -_name_name tương đương với Windows MSI?


3

Có một tiện ích hoặc khả năng như vậy một MSI? Có lẽ msiexec?

rpm -qlcung cấp danh sách tất cả các tệp được cài đặt bởi một gói nhất định. Tôi muốn nhận thông tin tương tự từ hệ thống Windows.


Tại sao bạn thực sự cần danh sách các tệp được cài đặt bởi gói MSI? Bạn muốn đạt được những gì?
Alexey Ivanov

Tôi muốn hiểu hoàn toàn tất cả các tệp mà gói MSI gửi vào hệ thống của tôi khi nó được cài đặt ban đầu.
joebalt

Để kiểm tra các tập tin MSI chứa, thực hiện cài đặt quản trị. Nếu bạn muốn biết, tập tin nào được cài đặt và nơi chúng được cài đặt, thì bạn phải liệt kê các thành phần của gói, kiểm tra xem một thành phần đã được cài đặt chưa, và liệt kê các tệp và khóa / giá trị đăng ký trong một thành phần. Tôi không chắc chắn có những công cụ làm những gì bạn muốn.
Alexey Ivanov

Gói MSI là một cuốn sách mở đó là lý do tại sao bộ phận CNTT yêu thích chúng. Nó cho phép kiểm tra nội dung của nó một cách dễ dàng, và ngoài ra, nó cho phép tùy biến để đáp ứng nhu cầu của công ty.
Alexey Ivanov

@Alexey, tôi đồng ý rằng MSI là một cuốn sách, nhưng không phải là một cuốn sách mở. ;) Tôi thấy mình thường xuyên tìm kiếm các tiện ích, hoặc tự viết để khám phá và / hoặc làm việc tốt hơn với nội dung của nó. Với vòng / phút, người ta chỉ cần chạy "vòng / phút ...." để khám phá mọi thứ về một gói. Tôi sẽ sớm viết một số công cụ truy vấn MSI cơ bản do kết quả của các cuộc thảo luận ở đây.
joebalt

Câu trả lời:


2

Các Windows SDK chứa một tiện ích đồ họa gọi là Orcađể xem và chỉnh sửa .msicơ sở dữ liệu. Tối thiểu, chọn Windows Native Code Development=> Toolstrong trình cài đặt SDK, sau đó cài đặt Orcatừ %ProgramFiles%\Microsoft SDKs\Windows\vX.Y\Bin\Orca.msi. Khi xem cơ sở dữ liệu Orca, Filebảng chứa một hàng cho mỗi tệp sẽ được cài đặt.

Windows Installer XML (WiX) chứa một công cụ được gọi là Darksẽ dịch ngược .msicơ sở dữ liệu thành tệp XML:

dark.exe Installer.msi

Điều này sẽ tạo ra một Installer.wxstập tin trong thư mục hiện tại. Các <File />yếu tố tương ứng với các hàng trong Filebảng.


1

msiexec có thể làm điều đó trong chế độ quản trị viên.

msiexec / a gì đó.msi TARGETDIR = "c: \ windows \ temp" / qb

bạn có thể cần một số thiết bị chuyển mạch khác, mặc dù.


msiexec.exe / a - Trợ giúp msiexec nói rằng cài đặt sản phẩm trên mạng chia sẻ. Đó không phải là điều tôi đang muốn làm.
joebalt

có, công cụ này là để cài đặt, nhưng bạn có thể trích xuất các tệp mà không cần cài đặt với các công tắc phù hợp. Tôi tìm thấy các công tắc phù hợp thông qua google :-) nhưng nếu bạn muốn thực sự an toàn, hãy thực hiện trong một vm dùng một lần. làm điều đó trên một msi rất nhỏ và vô hại mà ngay cả khi được cài đặt, nó sẽ không làm tổn thương bạn. Có một số công cụ trích xuất msi khác trên mạng nhưng tôi không thể đề xuất bất kỳ vì tôi chưa sử dụng chúng và bất kỳ điều gì chưa biết có thể gây ra sự cố có lẽ. đây là công cụ MS chính thức.
johnshen64

Tôi xin lỗi vì sự thiếu chi tiết trong câu hỏi của tôi. Tôi chỉ muốn một danh sách các tập tin và vị trí của chúng trên đĩa (đường dẫn đầy đủ) sau khi gói msi đã được cài đặt. Tôi cần truy vấn hệ thống mà msi đã được cài đặt cho danh sách này.
joebalt

Xin lỗi, tôi không biết danh sách tệp đó trong cơ sở dữ liệu msi ban đầu luôn được giữ đúng cách và ở một nơi cố định, ngoài việc kiểm tra tệp msi gốc. Tập lệnh gỡ cài đặt, nếu có, nên có cái đó nhưng tôi không biết cách giải nén nó.
johnshen64

MSI không cung cấp loại chức năng như vậy. Có thể thay đổi vị trí của các tệp trong khi cài đặt (ví dụ bằng cách chuyển các thuộc tính trên dòng lệnh) để các đường dẫn có thể khác nhau trên mỗi máy.
Alexey Ivanov

1

ít hơn

Đây là một tiện ích với GUI & CLI có thể được sử dụng để xem và trích xuất nội dung của tệp MSI.

Tôi chỉ cần thử nó ra, hoạt động tuyệt vời.


0

Không, Windows Installer không thể làm điều này. Không có tùy chọn nào sẽ cho bạn biết tập tin nào được cài đặt từ một gói nhất định.

Theo đề xuất của John , bạn có thể xem tất cả các tệp mà gói này chứa. Hình ảnh quản trị sẽ có cấu trúc thư mục tương tự như cài đặt với tùy chọn mặc định.


Nếu bạn thực sự muốn lấy danh sách tất cả các tệp được cài đặt bởi một gói, tôi nghĩ bạn có thể làm điều đó:

  1. Liệt kê tất cả các thành phần trong gói
  2. Kiểm tra với hệ thống nếu thành phần được cài đặt,
  3. Liệt kê các tập tin trong các thành phần

Tôi chưa bao giờ nghe nói về công cụ có thể làm điều này.

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.