Với WiX, tôi muốn phân phối chương trình C# sử dụng SQLite.Với Wix, phân phối chương trình sử dụng SQLite (phải hoạt động trên cả 32bit và 64bit)
SQLite recommends the files structure below, vì vậy tôi sử dụng nó:
Trong Wix, tôi tạo ra x86 và x64 thư mục và đặt DLL ngay trong mỗi:
<Directory Id='x86' Name='x86'>
<Component Id='x86' Guid='...'>
<CreateFolder />
<File Id='f86' Name='SQLite.Interop.dll' Source='x86\SQLite.Interop.dll' />
</Component>
</Directory>
<Directory Id='x64' Name='x64'>
<Component Id='x64' Guid='...'>
<CreateFolder />
<File Id='f64' Name='SQLite.Interop.dll' Source='x64\SQLite.Interop.dll' />
</Component>
</Directory>
VẤN ĐỀ: WiX nói error LGHT0204 : ICE99: The directory name: x64 is the same as one of the MSI Public Properties and can cause unforeseen side effects.
Mẹo: Nếu tôi xóa hai thư mục khỏi tập lệnh WiX, sau đó sao chép chúng theo cách thủ công đến vị trí chương trình được cài đặt, sau đó nó hoạt động. Nghe có vẻ ngu ngốc, nhưng có lẽ giải pháp là tạo các thư mục x86_ và x64_ trong kịch bản WiX, và đổi tên chúng lúc thực thi đầu tiên của chương trình?