كيفية تشغيل الملف القابل للتنفيذ في نهاية مشروع الإعداد؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

لدي مشروع إعداد Visual Studio أستخدمه لتثبيت تطبيق WinForms بسيط إلى حد ما.في نهاية التثبيت، لدي صفحة واجهة مستخدم مخصصة تعرض مربع اختيار واحد يسأل المستخدم عما إذا كان يريد تشغيل التطبيق.لقد رأيت المثبتين الآخرين يفعلون ذلك كثيرًا.لكن لا يمكنني العثور على طريقة لجعل مشروع الإعداد يقوم بتشغيل ملف قابل للتنفيذ بعد انتهاء التثبيت.أفكار؟

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

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

المحلول

أعتقد أن هذا أحد القيود الحقيقية لمشروع تثبيت Visual Studio.يجب أن تكون قادرًا على تعديل الصفحة الأخيرة من واجهة مستخدم التثبيت ولكن VS.NET لا يمنحك طريقة للقيام بذلك.يمكنك تعديل الجداول في .MSI بعد إنشائها ولكن من المحتمل أن يقوم VS.NET بالكتابة فوق هذه التغييرات في كل مرة يتم إنشاؤها.قد تتمكن من تجاوز الصفحة الأخيرة باستخدام وحدة الدمج التي قمت بتضمينها في مشروع التثبيت.وفي كلتا الحالتين، ستحتاج إلى التعرف على كيفية تأليف مربعات حوار واجهة المستخدم في ملف .MSI وهذا ليس بالأمر التافه.

قد ترغب في التفكير في التبديل إلى برنامج تثبيت مجاني يعتمد على البرنامج النصي أو شراء تطبيق تأليف إعداد تجاري (فقط لا تشتري InstallShield من أجل حب Pete).ألق نظرة على InstallAware (على الرغم من أنني لم أستخدمه).

نصائح أخرى

يمكنك أيضًا استخدام الإجراءات المخصصة

لقد وجدت للتو طريقة سهلة للغاية ولا تتطلب أدوات خارجية.ما عليك سوى إضافة ملف فئة إلى المشروع الرئيسي وإجراء مخصص لمشروع الإعداد.

http://www.codeproject.com/KB/install/Installation.aspx

لقد قمت بذلك للتطبيقات الداخلية عن طريق إنشاء برنامج VB Script يقوم بتشغيل برنامج الإعداد القابل للتنفيذ، وينتظر حتى يتم إغلاقه، ثم يقوم بتشغيل البرنامج الثاني.

يمكنك أيضًا تحقيق ذلك بمزيد من التحسين باستخدام عدد قليل من استدعاءات Win API في ملف C قابل للتنفيذ.

يمكنك استخدام MSILAUNCH (على الرغم من أنني أمتلكه فقط للعمل مع MSICREATE).

http://www.cornerhouse.ca/en/msi.html

لقد تمكنت من ذلك عن طريق استدعاء الطريقة الرئيسية للتجميع باستخدام السطر التالي:

(typeof(ClassWithinAssemblyToExecute)).Assembly.EntryPoint.Invoke(null, new Object[] {} )

يمكنك القيام بذلك عن طريق المثبت المخصص.ما عليك سوى إضافة فئة المثبت وستشاهد العديد من الأحداث مثل ما بعد التثبيت وقبل التثبيت.فقط قم بالتوصيل بعد التثبيت ومن هناك قم بتشغيل ur exe حسب فئة العملية.أود أن أقترح عليك استخدام Google للعثور على المزيد حول المثبت المخصص.إليك رابطًا جيدًا قد يساعدك http://www.codeproject.com/Articles/19560/Launching-Your-Application-After-Install-using-Vis

شكرًا

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