سؤال

أحاول تخصيص مربع حوار Wix Progress القياسي (أريد أن أجعله يعرض ActionData). لقد تابعت دليل نيل لتخصيص الحوار لكن المشكلة هي أن التقدم الأصلي لا يزال يتم عرضه بدلاً من لي.

أعتقد أنني أعرف لماذا: إذا نظرت إلى مصدر للتقدم يمكنك رؤية كتلة الكود هذه:

   <InstallUISequence>
    <Show Dialog="ProgressDlg" Before="ExecuteAction" />
  </InstallUISequence>

لذا بدلاً من نشرها بواسطة مربع حوار آخر ، كما هو الحال في معظم الحوار ، يتم تشغيله مباشرة كجزء من installuisequence. فكيف يمكنني تجاوز هذا؟

هل كانت مفيدة؟

المحلول

يبدو أن مربع حوار التقدم يجب أن يكون آخر شيء في installuisequence قبل التنفيذ - وإلا ، لأن مربعات الحوار التقدم غير معدّل ، يتم عرضه بعد ذلك على الفور.

لذلك فإن حلي هو التأكد من عرض مربع حوار التقدم المخصص بعد الحوار الحالي:

  <InstallUISequence>
    <Show Dialog="CustomProgressDlg" After="ProgressDlg" />
  </InstallUISequence>

نصائح أخرى

Samuel ، إنه يعمل كما قال بوب: "طالما أنك لا تشير إلى ProgressDLG" ولكن هذا البيان ليس دقيقًا. تحتاج إلى العثور على جميع الإشارات إلى ProgressDLG ، ولكن العثور عليها في مصادر WIX. ثم تحتاج إلى إنشاء الإصدار الخاص بك من أي مربع حوار يشير إلى ProgressDLG ويتم تضمينه بواسطة الإعداد الخاص بك (الاستخدام المباشر أو غير المباشر له!) ، لجعله يشير أيضًا إلى مربع الحوار المخصص الخاص بك.

لقد حاولت هذا لحل نفس المشكلة. لاستخدام مثل. تسلسل واجهة مستخدم FeatureTree الذي يتعين عليك إنشاء إصداراتك الخاصة من مربعات الحوار التالية بالإضافة إلى ProgressDLG:

  • الصيانة
  • resumedlg
  • الترحيب

هذا لأنها تحدد عنصر العرض الذي يشير إلى ProgressDLG.

يتم جدولة ProgressDLG فقط عند الرجوع إليها. إذا كنت ترغب في استبداله ، فقم بتخصيص تسلسل الحوار حتى لا يشير إلى ProgressDLG.

klaus ، لحسن الحظ أنت لا يجب إعادة إنشاء إصداراتك الخاصة من مربع الحوار مع v3.11.1. في ال InstallUISequence, ، يمكنك تجاوز تسلسل الحوار على سبيل المثال

<Show Dialog="WelcomeDlg" Before="ProgressDlgCustom">NOT Installed OR PATCH</Show>

تأكد من حذف show/@override - كان هذا هو الحالة الدقيقة من الترحيب.

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