2012-09-12 22 views

Trả lời

8

Tôi cũng gặp lỗi này, Có vẻ như đây là một điều mới được tạo tự động từ Wix khi thiết lập mới được tạo. Wix không thích nó khi tôi nâng cấp từ 3,5 lên 3,6, tôi chỉ đơn giản là xóa nó.

+0

Chỉ trong trường hợp nó giúp ích cho bất kỳ ai trong tương lai - Tôi đã có điều này khi thuộc tính id của thành phần không chính xác – Liath

+0

Vâng, chúng tôi vừa nâng cấp từ WIX 3.5 lên 3.8 và nhấn vấn đề này.Chúng tôi đã phải viết lại các tệp wixproj và wxs của chúng tôi để tránh thu hoạch hoặc chỉ sử dụng câu trả lời @goodbuoy [được cung cấp] (http://stackoverflow.com/a/12741595/1584012) – wigy

46

Vấn đề wix 3.6 của nó. Tìm thấy giải pháp here. Tất cả bạn cần làm là thêm các tài sản sau đây < EnableProjectHarvesting> Đúng </EnableProjectHarvesting> về dự án wix bạn

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <EnableProjectHarvesting>True</EnableProjectHarvesting> 
+0

Cảm ơn thông tin, goodbuoy. Đã làm cho tôi. –

+5

không hoạt động với tôi: ( –

+2

Điều này có tác dụng đối với tôi. Nếu tôi có lựa chọn, tôi sẽ không sử dụng WIX. Nâng cấp Đường dẫn Microsoft !? Sẽ rất tuyệt nếu tài liệu đó tốt hơn. – avantprime

0

Sau khi nâng cấp từ Wix 3.5 để Wix 3.8, chúng tôi đã nhận cùng một vấn đề. Tuy nhiên, chúng tôi không muốn thu hoạch dự án, do đó, thiết lập EnableProjectHarvesting thành sự thật không phải là một giải pháp tốt. Vì vậy, để giải quyết vấn đề, chúng tôi đã phải thay đổi một vài điều:

Trong tập tin Product.wxs, chúng tôi loại bỏ hoàn toàn các dòng sau (từ thuộc tính <Feature>):

<ComponentGroupRef Id="Product.Generated" /> 



Sau đó, trong chúng tôi .wixproj, chúng tôi đã cập nhật LinkerBaseInputPaths thành DefineConstants.

Vì vậy, điều này có nghĩa thay đổi

<LinkerBaseInputPaths>%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</LinkerBaseInputPaths> 

Để (Và xin cũng nhận thấy việc bổ sung các BasePath=%)

<DefineConstants>BasePath=%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</DefineConstants> 



và cuối cùng chúng tôi đã thêm

PreprocessorVariable="var.BasePath" 

t o thuộc tính HeatDirectory của chúng tôi (nằm ngay bên dưới PropertyGroup mà chúng tôi đã sửa đổi trong bước trước).

1

Trong trường hợp của tôi, tôi nên sử dụng ComponentRef thay vì ComponentGroupRef

0

Trong trường hợp của tôi, tôi đã nhận được cùng một số lỗi:

file_name.wxs (38): LGHT0094 lỗi: tài liệu tham khảo không được giải quyết theo các biểu tượng 'WixComponentGroup: Name_of_the_ComponentGroup

Điều này là do tôi đã chuyển ComponentGroup sang một tệp khác và kịch bản lệnh xây dựng (cmake trong trường hợp của tôi, có thể bạn sử dụng kiến) gọi candle.exe chưa được cập nhật để bao gồm. wxs tập tin mà bây giờ tiếp thúc đẩy ComponentGroup.

Cập nhật tập lệnh cmake để bao gồm tệp mới đã sửa lỗi. Và thông báo lỗi thực sự có ý nghĩa, vì đây là một tham chiếu chưa được giải quyết.

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