التثبيت غير المراقب (سطر الأوامر) لفرض قبول EULA

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

  •  28-09-2019
  •  | 
  •  

سؤال

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

أقوم حاليًا بتشغيل تثبيت سطر الأوامر بالتنسيق التالي الذي يمر في المعلمات المستخدمة في إجراء مخصص:

msiexec /i projectsetup.msi /qn /l* log.txt param1 = "foo" param2 = bar

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

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

المحلول

يجب أن يدرك الجميع أنه لا يمكن نقل param1 param2 و execteula إلى MSI. يمكن تمرير الخصائص العامة فقط (جميع الحالات العليا) مثل القبول.

يمكن لـ MSI القيام بذلك بسهولة باستخدام شرط إطلاق ينفصل عن خاصية مخصصة مثل execteula و uilevel property. الهدف هو السماح فقط بالتثبيت إذا كان UiLevel = 5 أو execteula = 1 أو إذا تم تثبيت المنتج (بالفعل)

حالة:

uilevel = 5 أو قبول أو مثبت

يجب أن تقبل EULA لتثبيت [ProductName].

ممتلكات عامة:http://msdn.microsoft.com/en-us/library/aa370912(vs.85).aspx

حالة الإطلاق:http://msdn.microsoft.com/en-us/library/aa369752(vs.85).aspx

uilevel:http://msdn.microsoft.com/en-us/library/aa372096(vs.85).aspx

نصائح أخرى

عرض EULA في التشغيل الأول عند بدء تشغيل واجهة المستخدم الرسومية. على سبيل المثال. مثل أدوات sysinternals المختلفة تفعل ذلك (filemon ، regmon إلخ). التفكير الجيد هو أنه يعمل مع نشر XCOPY.

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

خلاف ذلك ، أقوم ببساطة بتعديل المثبت بحيث لا يعرض Eulas أبدًا ، لذلك لست ملزماً بها.

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