سؤال

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

<directory ...>
  <component ...>
  <File Id="IDINST" ... />
  </component>
</directory>
...
<CustomAction Id="IDACTION" FileKey="IDINST" ExeCommand="..." Return="ignore" />
...
<InstallExecuteSequence>
  <Custom Action="IDACTION" After="CostFinalize" />
</InstallExecuteSequence>

وراجعت الدليل وكان الملف حيث كنت أتوقع، ولكن لم يتم تنفيذه بعد عملية التثبيت. في الحقيقة أنا حقا لا أريد حتى أن ملف ليتم تثبيتها، فقط تشغيل ثم حذفها. ولكنني سوف نتجاهل أن في الوقت الراهن. على أي حال، لقد رأيت العديد من الأمثلة على الإجراءات اثار بعد الحوارات ولكن منذ أنا حاليا باستخدام <UIRef Id="WixUI_Minimal" /> أنا لا أعتقد أن هذا هو المثالي.

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

المحلول

وCostFinalize يحدث قبل فترة طويلة InstallFiles المؤجلة يدير العمل (الذي يضع الملف في الواقع). وهكذا فإن CustomAction فشل (لأن الملف غير متوفر) بصمت (لأن العودة هو تجاهل)

وتحتاج CustomAction المقرر الخاص بك على الأقل بعد InstallFiles وتأجيل أو إذا كان CustomAction لا يمكن تشغيل مؤجلة ثم يجب أن يكون بعد InstallFinalize (وبطبيعة الحال، لا يمكن أن تسبب التراجع بعد InstallFinalize).

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