كيف يمكنني الحصول على WIX لاستدعاء طريقة في مجموعة .NET كجزء من عملية التثبيت؟

StackOverflow https://stackoverflow.com/questions/3902677

  •  29-09-2019
  •  | 
  •  

سؤال

أقوم بترحيل بعض المنتجات الحالية لاستخدام WIX 3.5 (أنا أستخدم تكامل VS VS). يجب تسجيل بعض العناصر التي أقوم بتثبيتها مع إطار عمل تابع لجهة خارجية. الشرط هو أنه يجب علي الاتصال بأسلوب السجل () في مجموعة .NET من طرف ثالث لإبلاغها بوجود العناصر التي أقوم بتثبيتها. يتوقع progid com.

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

رجل هذا منحنى تعليمي حاد. ما هو أفضل طريقة لي هنا؟

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

المحلول

انظر إلى مؤسسة أدوات النشر (DTF) لـ WIX. يوجد ملف dtf.chm مع تثبيت WIX مع الكثير من المعلومات.

على افتراض أن عملية التثبيت هي شيء مثل

  1. تثبيت الإعداد ، معلمات الإدخال/progid ، القيام بالتحقق ، إلخ.
  2. ابدأ التثبيت الفعلي للملفات
  3. أساليب التسجيل استدعاء

ستحتاج إلى إجراءين مخصصين (تجاهل التراجع وإلغاء التثبيت)

  • الإعداد
  • doregistration

يجب أن يكون SetupRegistration إجراءً مخصصًا فوريًا يتم إطلاقه إما من واجهة المستخدم أو في وقت متأخر من مرحلة الإعداد. يمسك بروغد وأي بيانات أخرى مطلوبة ، ويستخدم كائن CustomActionData ويعين ذلك إلى خاصية تسمى "Doregistration" (مهم ، يجب أن يكون اسم العقار هو نفسه الإجراء المخصص الثاني)

يعد Doregistration إجراءً مخصصًا مؤجلًا ويجب تحديد موعد في installexecutesequence على الأرجح بعد التثبيت ، ولكن هذا يعتمد. إنه يسحب خاصية Session.CustomActionData ويحصل على ProgID ، ثم يستدعي طريقة التسجيل التي تحتاجها.

نصائح أخرى

أنا أستخدم نوعًا ما وصفته.

أستخدم استدعاء CustomAction (الأحداث) عند الحاجة. مثل زر النقر فوق ، يمكنك استدعاء طريقة ستعمل من أجلك.

استدعاء الإجراء المخصص مثل:

<Custom Action="ActionName" After="InstallFinalize">CONDITION = "1"</Custom>

أو استدعاء الإجراء المخصص بناءً على زر محدد ، انقر فوق:

<CustomAction Id="TestConnection" BinaryKey="SetupCustomActions" DllEntry="TestConnection" Execute="immediate" Return="check" />
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top