2009-10-30 39 views
13

Tôi đã có dịch vụ cửa sổ được biên dịch dưới dạng AnyCPU. Tôi đang cố gắng đưa nó vào trình cài đặt của chúng tôi để phân phối. Tuy nhiên ... Tôi không rõ sự khác biệt giữa phiên bản 32 bit và 64 bit của InstallUtil. Có ai biết cái gì (nếu có) không?.net InstallUtil utility - 32 bit vs 64 bit

Trên máy tính 64 bit của mình, tôi có thể chạy $ (WinDir) \ Microsoft.NET \ Framework64 \ v2.0.50727 hoặc $ (WinDir) \ Microsoft.NET \ Framework \ v2.0.50727.

Trong cả hai trường hợp, dịch vụ kết quả Quy trình trong Trình quản lý tác vụ không có cờ * 32 được áp dụng cho nó.

Chỉ InstallUtil 32 bit hoạt động trên máy 32 bit (hiển nhiên).

Có cần sử dụng phiên bản \ Framework64 \ của InstallUtil không? Nó làm gì khác?

Trả lời

14

Theo this, bạn có nghĩa vụ phải sử dụng phiên bản 64 bit để cài đặt 64-bit và MSIL hội đồng, nhưng nó không nói lý do tại sao.

Bắt đầu với phiên bản .NET Framework 2.0, phiên bản 32-bit của thời gian chạy ngôn ngữ chung (CLR) tàu với chỉ có phiên bản 32-bit của công cụ cài đặt, nhưng phiên bản 64-bit của CLR vận chuyển với cả phiên bản 32 bit và 64 bit của công cụ Trình cài đặt. Khi sử dụng CLR 64 bit, 32 bit, sử dụng công cụ cài đặt 32 bit để cài đặt các cụm 32 bit và công cụ Trình cài đặt 64 bit để cài đặt các cụm ngôn ngữ trung gian Microsoft (MSIL) 64 bit và . Cả hai phiên bản của công cụ Trình cài đặt đều hoạt động giống nhau.

Tôi tin rằng here giải thích lý do. Nếu bạn nhìn vào dưới cùng của bài viết, nó giải thích một số khác biệt giữa hai và khi nào sử dụng intallutil 32-bit.

Installutil.exe được xây dựng cho một nền tảng cụ thể, do đó nó sẽ bắt đầu như một quá trình 32 hoặc 64-bit và registry hive liên quan sẽ cập nhật. Lưu ý rằng nếu bạn có một snap-in được xây dựng với nền tảng chuyển đổi, bạn sẽ chỉ có thể đăng ký nó trong một trong những tổ ong (32-bit hoặc 64-bit).

+0

Tuyệt vời, điều thứ hai giải thích linh cảm tôi đã có nhưng không thể xác nhận. Cảm ơn! –

2

Tôi cũng đã thực hiện điều này. Vấn đề là dự án VS2008 của tôi đã được đặt thành Platform Target: Any CPU. Không có vấn đề mà InstallUtil.exe (32 hoặc 64) tôi chạy trên hệ điều hành 64 bit nó đã được cài đặt như 64 bit.

Tôi đã thay đổi cài đặt dự án của mình Nhắm mục tiêu thành x86 và sau đó chạy installutil.exe 32 bit và mọi thứ hoạt động tốt. Nó hiện hiển thị cờ * 32 trong Trình quản lý tác vụ.

1

Nếu bạn đang cài đặt một cụm chỉ 64 bit, InstallUtil 32 bit sẽ không thể tải nó. Bạn sẽ cần sử dụng phiên bản 64 bit.

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