Do sự nhầm lẫn của người dùng, ứng dụng của chúng tôi yêu cầu trình cài đặt riêng cho các phiên bản Windows 32 bit và 64 bit. Trong khi trình cài đặt 32 bit chạy tốt trên win64, nó có khả năng tạo ra nhức đầu hỗ trợ và chúng tôi muốn ngăn điều này xảy ra.WiX: Ngăn trình cài đặt 32 bit chạy trên Windows 64 bit
Tôi muốn ngăn trình cài đặt MSI 32 bit chạy trên các máy Windows 64 bit. Để kết thúc mà tôi có điều kiện sau đây:
<Condition Message="You are attempting to run the 32-bit installer on a 64-bit version of Windows.">
<![CDATA[Msix64 AND (NOT Win64)]]>
</Condition>
Với Win64 định nghĩa như thế này:
<?if $(var.Platform) = "x64"?>
<?define PlatformString = "64-bit"?>
<?define Win64 ?>
<?else?>
<?define PlatformString = "32-bit"?>
<?endif?>
Thing là, tôi không thể có được việc kiểm tra này để làm việc ngay. Hoặc là nó cháy tất cả các thời gian, hoặc không có thời gian. Mục đích là để kiểm tra sự hiện diện của biến thời gian chạy msix64
so với biến biên dịch Win64
biên dịch và ném một lỗi nếu chúng không xếp hàng, nhưng logic không hoạt động như thế nào tôi dự định nó. Có ai đưa ra giải pháp tốt hơn không?
Điều này đã kết thúc. Sai lầm của tôi là nhận lại logic cho 'Điều kiện'. –
Msix64 yêu cầu Windows Installer 3.1 không có trên XP theo mặc định (xem http://msdn.microsoft.com/en-us/library/aa370522(v=VS.85).aspx) –