إنشاء مكونات إضافية للمثبت في الحزم بنفس امتيازات الجذر مثل الحزم التي سيتم تثبيتها (Mac OS X)

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

سؤال

أنا أعمل في مشروع Mac OS X حيث تم إنشاء برنامج التثبيت باستخدام ملف Packages أداة.أرى أن هذه الأداة أقل استخدامًا من الأداة التي تسمى Package Maker ولهذا أجد صعوبة في الحصول على أي مساعدة، ولكن حسنًا، إليك السؤال:

لقد نجحت في إنشاء مكونات إضافية للمثبت باتباع الدليل الرسمي (http://s.sudre.free.fr/Stuff/Installer/Installer_Plugins/index.html)، ولكن المشكلة الآن هي أنني بحاجة إلى تشغيل أحد هذه المكونات بامتيازات الجذر، المطالبة بكلمة مرور المسؤول إذا لزم الأمر.

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

يمكنني أن أفعل ذلك بكتابة بعض أكواد التفويض الأساسية (باستخدام AuthorizationExecuteWithPrivileges المهملة نظرًا لأن إنشاء الحلول المعقدة التي أوصت بها Apple في مكون إضافي هو أمر حقيقي) في المكون الإضافي نفسه.

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

هل يعرف أحد حلاً أو حلًا ممكنًا؟

شكرا لك مقدما.

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

المحلول

سؤال قديم لكنني سأطرح هذا كخيار.

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

لذا، في هذا المثال، لدي مكون إضافي لطرح بعض الأسئلة على المستخدم ثم أقوم بتخزين تلك المعلومات في /tmp حتى يتمكن البرنامج النصي من القراءة والتنفيذ.

مستديرة قليلاً ولكنها تعمل وأسهل بكثير ثم تحاول عدم استخدامها AuthorizationExecuteWithPrivileges

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