إضافة اختصار لملف WIX في جزء مختلف
سؤال
أنا أستخدم Heat.exe لإنشاء شظايا مماثلة لهذا:
<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>
يتم تخزين هذه الشظايا في ملف WXS الذي تم إنشاؤه تلقائيًا.
سأضيفها بعد ذلك إلى ميزة (في ملف WIX الرئيسي) مثل SO:
<ComponentGroupRef Id="Components"/>
هذا يعمل بشكل جيد.
ومع ذلك ، أود أيضًا إضافة اختصار إلى bar.exe إلى قائمة البداية الخاصة بي. أريد من الناحية المثالية القيام بذلك في ملف WIX الرئيسي الخاص بي ، مع عدم وجود مكون bar.exe في ملف WXS الذي تم إنشاؤه تلقائيًا. كيف يمكنني التعامل مع هذه المشكلة دون تعديل الكود الذي تم إنشاؤه تلقائيًا؟
المحلول
هل تريد بالضرورة أن يقيم في التعريف؟ يمكنك الحصول عليه في مكون منفصل ، بالطريقة التي يظهر بها في الدليل: http://wix.sourceforge.net/manual-wix3/create_start_menu_shortcut.htm
خلاف ذلك ، ربما يجب عليك تحويل إخراج الحرارة مع تحويل XSL عن طريق إضافة التعريف هناك. Heat.exe يقبل التبديل لتطبيق تحويل XSL مباشرة بعد الحصاد.
أتمنى أن يساعدك هذا.