2008-11-24 57 views
21

Tôi cần biết điều này vì đây là yêu cầu trước đó đối với .NET 3.5 và nếu tôi bao gồm bootstrapper .NET, tôi cũng nên xem nếu Windows Installer 3.1 là cần thiết.Làm cách nào để kiểm tra xem Windows Installer 3.1 hoặc cao hơn đã được cài đặt chưa?

Ngay bây giờ tôi đang kiểm tra các khóa registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP3\KB893803v2 

nào sẽ kiểm tra Windows Installer 3.1 nhưng tôi nghi ngờ nó không kiểm tra cho các phiên bản cao hơn. (Chưa thể xác nhận hoặc từ chối điều đó)

Tôi nên xem xét khóa đăng ký nào để tìm thông tin này?

Chỉnh sửa: Tôi cần phải kiểm tra điều này trong cài đặt Inno là những gì tôi đang sử dụng làm bootstrapper của mình và tôi không chắc chắn cách kiểm tra phiên bản dll trong đó.

+3

wow ... câu hỏi này đã cho tôi huy hiệu vàng nổi tiếng Câu hỏi (10k lượt xem) và vẫn chỉ có 1 upvote. Nên có một huy hiệu khác cho điều đó: p – Davy8

+1

Chào mừng bạn đến với thế giới người cài đặt. –

Trả lời

14

xác định vị trí Msi.dll cài đặt với đường dẫn đăng ký này: HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer

giá trị: InstallerLocation

sau đó nhận được thông tin phiên bản từ tập tin đó.

cập nhật: cách trên cũ! cách mới để phát hiện phiên bản được ghi lại ở đây: http://msdn.microsoft.com/en-us/library/aa368280%28VS.85%29.aspx

+1

Lưu ý các chuyển hướng trên các hệ thống 64 bit ... mà tệp msi bạn định hướng đến sẽ phụ thuộc vào việc ứng dụng của bạn đang chạy chế độ 32 hay 64 bit. Điều đó nói rằng, tuy nhiên, các phiên bản 32 và 64 bit của trình cài đặt windows * nên * giống nhau trên bất kỳ hệ thống 64 bit nào. – Mark

+1

ít nhất trên hệ thống win32 đây chỉ là vị trí, msiexec.exe là tên tệp. Nhấp chuột phải -> Thuộc tính -> Phiên bản –

+0

cách tôi mô tả, là cách chính thức được ghi trong msdn (trong tháng mười hai -> xem http://blogs.msdn.com/windows_installer_team/archive/2005/09/09/458528 .aspx). họ đã cập nhật các phương pháp hay nhất cho: http://msdn.microsoft.com/en-us/library/aa368280%28VS.85%29.aspx –

1

Nếu điều này nằm trong chính tệp MSI, bạn có thể kiểm tra thuộc tính VersionMsi.

13

Trên cửa sổ "Chạy", nhập "msiexec". Một cửa sổ sẽ xuất hiện hiển thị phiên bản Windows Installer trên dòng đầu tiên.

+2

Làm cách nào để được phân tích cú pháp từ Cài đặt Inno? – Davy8

+0

+1 cách rất dễ dàng để tìm ra phiên bản chính xác không chuyên sâu. Cảm ơn vì điều đó. – ashes999

3

Nếu bạn muốn kiểm tra phiên bản của Trình cài đặt Windows trên hệ thống của mình, hãy kiểm tra phiên bản MSI.DLL trong thư mục Windows \ System 32.

Nhấp chuột phải vào MSI.DLL, chọn thuộc tính -> chuyển đến tab Chi tiết và kiểm tra phiên bản tệp.

+0

+1 Tôi đã sử dụng sigcheck.exe từ sysinternals để kiểm tra điều này. sigcheck c: \ windows \ system32 \ msi.dll – Jeff

+1

Đó là 'system32' không phải' Hệ thống 32'. Và thư mục đó không phải nằm trong thư mục có tên là 'windows'. Thanh toán tốt hơn động, ví dụ: sử dụng '% systemroot%' trong đó hệ thống của bạn có thể là. – Anthon

0

Vui lòng kiểm tra this link có thể giúp bạn như đã công trình đối với tôi cho Windows 7, hy vọng có thể làm việc cho các phiên bản khác của cửa sổ cũng như để kiểm tra phiên bản Windows Installer.

Các vấn đề liên quan