سؤال

أنا أستخدم 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 مباشرة بعد الحصاد.

أتمنى أن يساعدك هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top