Ứng dụng của tôi được tạo bằng cấu hình "Any CPU
". Trình cài đặt WIX cho ứng dụng được xây dựng với platform=x86
do đó MSI kết quả là 32 bit.Có hại gì khi cài đặt chương trình "AnyCPU" trên Windows 64 bit sử dụng MSI 32 bit?
Khi tôi chạy MSI 32 bit trên Windows 64 bit. Thuộc tính [ProgramFilesFolder]
được giải quyết thành "C: \ Program Files (x86)" và đường dẫn đăng ký được giải quyết cho Wow6432Node
. Khi tôi chạy ứng dụng, quá trình này là 64bit - như mong đợi.
Theo như tôi hiểu sau khi đọc nhiều bài đăng có liên quan trên SO. Trên Windows 64 bit, để làm cho [ProgramFilesFolder]
được giải quyết thành "C: \ Program Files" và đường dẫn đăng ký vào đường dẫn thông thường (không phải dưới Wow6432Node
). Tôi cần một MSI 64 bit riêng biệt. Mà tôi đang cố gắng để tránh - Đối với tôi, để có một riêng biệt 64-bit MSI chỉ cho [ProgramFilesFolder]
và regsitry đường dẫn để giải quyết để sửa chữa vị trí là không đáng giá. Miễn là chương trình của tôi vẫn chạy 64-bit trên một Windows 64-bit, tôi không thực sự quan tâm về nó được cài đặt tại "C: Program Files Files (x86)" theo mặc định và một số giá trị đăng ký tồn tại tại Wow6432Node
. Vì vậy, câu hỏi của tôi là, có những hậu quả khác khi tôi cài đặt một chương trình "AnyCPU" trên Windows 64 bit bằng cách sử dụng một MSI 32 bit khác với mặc định installDir là "C: \ Program Files (x86)) "và một số giá trị đăng ký được lưu trữ theo số Wow6432Node
?
Bạn có quan tâm đến bất kỳ cài đặt đăng ký nào được lưu trữ trong Wow6432Node đang được chương trình của bạn đọc thay vì vị trí gốc (nếu bạn đang đọc chúng)? –
Tại sao không xây dựng cả hai, và có phiên bản 32 bit phát hiện một hệ điều hành 64-bit sau đó thực hiện Setup64.exe và bỏ thuốc lá nếu đúng? –
@Scott Chamberlin, tôi chỉ cài đặt một giá trị cho sổ đăng ký. Buộc mã C# để đọc từ Wow6432Node khi chạy trong 64-bit là một cách dễ dàng hơn so với thực hiện một trình cài đặt khác. – sean717