Có bạn sẽ cần phải thêm chúng bằng tay để một số tập tin wxs HOẶC bạn có thể sử dụng một bước trước khi xây dựng có sử dụng nhiệt để thu hoạch những tập tin cho bạn (giả sử tất cả các tập tin nằm trong một thư mục riêng biệt).
Nhiệt là một phần của Wix và có thể thu thập toàn bộ thư mục bằng cách sử dụng công tắc dir. Tùy thuộc vào các đối số dòng lệnh, nó sẽ tạo ra một tệp wxs riêng biệt có chứa một ComponentGroup duy nhất. Chỉ cần tham khảo ComponentGroup này từ product.wxs.
Đối với một ví dụ về cách tôi hiện đang sử dụng nhiệt để thu hoạch thư mục phát hành của tôi:
dir nhiệt "../../bin/release" -gg -cg CG.ApplicationBinaries -dr InstallDir -scom -sfrag -sreg -srd -var var.BuildOutputDir -o ApplicationBinaries.wxs
Điều này sẽ tạo ra ApplicationBinaries.wxs file:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<Component Id="cmp53F90D1335DD67504EC2B9E1E8620DD3" Guid="{CA2DF1B5-7B20-4596-84A4-925B4F9BA6EC}">
<File Id="filC65F9CB88694FCA79FCB3CADB9481921" KeyPath="yes" Source="$(var.BuildOutputDir)\AsyncTCPsocket.dll" />
</Component>
....
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="CG.ApplicationBinaries">
<ComponentRef Id="cmp53F90D1335DD67504EC2B9E1E8620DD3" />
...
</ComponentGroup>
</Fragment>
</Wix>
Nguồn
2011-02-10 10:09:41
Cảm ơn bạn, tôi nghĩ rằng tôi sẽ xác định chúng một cách rõ ràng – devdigital
Bạn không cần xác định thuộc tính để có thể tham khảo tệp wxs được tạo có chứa nhóm thành phần không? – KennO
Sau đó bạn có đặt giá trị $ (var.BuildOutputDir) thành $ {var.YOURPROJECT.TargetDir) trong Product.wx không? Nếu vậy làm thế nào để bạn thực hiện điều đó? – jpierson