2012-01-03 43 views
11

Tôi có một dự án Wix mà từ đó tôi muốn cài đặt trình điều khiển 32 bit khi được xây dựng với cấu hình phát hành x86 và trình điều khiển 64 bit khi được xây dựng với x64.Cài đặt trình điều khiển 32 & 64 bit với Wix?

Cách tôi đang làm điều này ngay bây giờ là với hai dự án giống hệt nhau nhưng một tham chiếu difxapp_x86 và tham chiếu khác difxapp_x64. Tôi có thể cải thiện điều này không?

Ngoài ra, nếu tôi tham khảo difxapp_x86 và xây dựng các phiên bản 64 bit, sau đó gì ngạc nhiên tôi nhận được lỗi msi:

"DIFXAPP: ERROR - You need to use the 64-bit version of DIFXAPP.DLL to install drivers on this machine."

Có thể tham khảo các điều kiện dựa trên việc xây dựng cấu hình đã chọn?

Cảm ơn, Alan

+0

Tôi cũng gặp lỗi tương tự. Thay vì sử dụng DIFXAPP, một hành động tùy chỉnh đơn giản gọi SetupCopyOemInf và thực hiện một số thao tác xử lý lỗi sẽ cho phép bạn tạo một trình cài đặt cho cả Windows 32 bit và 64 bit (tôi đã thực hiện thành công nhiều lần, không phải với WiX). –

Trả lời

15

tôi quản lý để tìm một giải pháp cho điều này có liên quan đến việc tự chỉnh sửa hồ sơ dự án.

Tôi đã thay đổi phần sau:

<ItemGroup> 
    <WixLibrary Include="difxapp_x86"> 
    <HintPath>C:\Program Files\Windows Installer XML v3.5\bin\difxapp_x86.wixlib</HintPath> 
    <Name>difxapp_x86</Name> 
    </WixLibrary> 
</ItemGroup> 

Để sau:

<ItemGroup> 
    <WixLibrary Include="difxapp_$(Platform)"> 
    <HintPath>C:\Program Files\Windows Installer XML v3.5\bin\difxapp_$(Platform).wixlib</HintPath> 
    <Name>difxapp_x86</Name> 
    </WixLibrary> 
</ItemGroup> 

Bây giờ đường dẫn đến tham chiếu sẽ được xác định bởi tình trạng biến Platform. Hy vọng nó sẽ giúp người khác với cùng một yêu cầu.

Alan

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