2010-03-24 32 views
5

Tôi đang sử dụng heat.exe để tạo ra các mảnh tương tự như sau:Thêm shortcut cho file WiX trong một đoạn khác nhau

<Fragment> 
    <DirectoryRef Id="INSTALLDIR"> 
    <Component Id="id1" Guid="*"> 
     <File Id="fid1" KeyPath="yes" Source="SourceDir\Foo1.dll" /> 
    </Component> 
    <Component Id="id2" Guid="*"> 
     <File Id="fid2" KeyPath="yes" Source="SourceDir\Foo2.dll" /> 
    </Component> 
    <Component Id="id3" Guid="*"> 
     <File Id="fid3" KeyPath="yes" Source="SourceDir\Bar.exe" /> 
    </Component> 
    </DirectoryRef> 
</Fragment> 

<Fragment> 
    <ComponentGroup Id="Components"> 
     <ComponentRef Id="id1" /> 
     <ComponentRef Id="id2" /> 
     <ComponentRef Id="id3" /> 
    </ComponentGroup> 
</Fragment> 

Những mảnh vỡ được lưu trữ trong các tập tin wxs tự động tạo ra.

tôi sau đó thêm chúng vào tính năng của tôi (trong file WiX chính) như sau:

<ComponentGroupRef Id="Components"/> 

này hoạt động tốt.

Tuy nhiên, tôi cũng muốn thêm lối tắt vào Bar.exe vào trình đơn bắt đầu của mình. Tôi lý tưởng muốn làm điều này trong tệp wix chính của tôi, với thành phần Bar.exe vẫn còn nằm trong tệp wxs được tạo tự động. Tôi sẽ tiếp cận vấn đề này như thế nào mà không cần sửa đổi mã được tạo tự động?

Trả lời

2

Bạn có nhất thiết muốn nó nằm trong định nghĩa không? Bạn có thể có nó trong một thành phần riêng biệt, cách nó được thể hiện trong hướng dẫn sử dụng: http://wix.sourceforge.net/manual-wix3/create_start_menu_shortcut.htm

Nếu không, bạn có thể chuyển đổi đầu ra nhiệt bằng phép biến đổi XSL bằng cách thêm định nghĩa vào đó. Heat.exe chấp nhận công tắc để áp dụng biến đổi XSL ngay sau khi thu hoạch.

Hy vọng điều này sẽ hữu ích.

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