سلسلة شروحات innoSetup الدرس السادس عشر : شرح الثوابت في برنامج InnoSetup

ناصر بعزيز

Administrator
طاقم الإدارة
إنضم
7 أغسطس 2018
المشاركات
646
مستوى التفاعل
666
النقاط
93
الإقامة
الجزائر
الموقع الالكتروني
mx-blind.com
الجنس
ذكر
نظام التشغيل
Windows10
قارئ الشاشة المستخدم
jaws
بسم الله الرحمان الرحيم
والصلاة والسلام على أشرف الأنبياء والمرسلين
أما بعد فأيها الإخوى والأخوات أهلا وسهلا ومرحبا بكم في الدرس السادس عشر في دورة تعلم برنامج InnoSetup
حيث في درسنا اليوم سنتعرف على الثوابت في هذا البرنامج
بدايةًا دعوني أعرف لكم مقصدي بالثوابت
إن الثوابت هم رموز أو إختصارات يمكن استخدامهم للذهاب إلى مسارات مختلفة أو القيام بالعمليات
كمثلا
نحن إعتدنا دائما أن يكن قرص النظام هو c:
لاكن ماذا لو أحد المستخدمين قام بتثبيت ويندوز على قرص آخخر
فبالتالي البرنامج لن يتثبت بالشكل الصحيح
لذا تأتي هذه الإختصارات التي تسهل هذه العملية
وليس هذا فقط
بل يمكن أن نقوم مثلا بتخصيص عبارات محددة في ملفات اللغة
فهناك إختصارات لاستدعاء هذه العبارات.
وهذه الإختصارات كلها تكون بين {...}
في هذا الدرس سأحاول التطرق لأهم الإختصارات أو الثوابت التي نحتاجها
وسأضعها لك في جداول لكي يسهل التنقل بينها
1. ثوابت المسارات :
الثابتالوصف
{app}مجلد التطبيق الذي يقوم المستخدم باختياره في التثبيت
{win}مجلد windows الموجود في قرص النظام
{sys}مجلد system32
{sysnative}في نظام 64 المجلد الذي يحتوي على ملفات النظام الخاصة ب 64 bit وفي نظام 32 الملفات الخاصة بنظام 32bit
{syswow64}مجلد SysWOW64 في نظام 64 bit
{src}مسار الملف الخاص بالتثبيت
{sd}قرص النظام
{commonpf}مجلد program files
{commonpf32}مجلد program files الخاص بنظام 32 حيث في نظام 64 bit يكون program files(x86)
{commonpf64}مجلد program files الخاص بنظام 64 فقط
{commoncf}مسار مجلد Common Files
{commoncf32}مسار مجلد Common Files الخاص بنظام 32 bit
{commoncf64}مسار مجلد Common Files الخاص بنظام 64 bit فقط
{tmp}المجلد المؤقت الذي يقوم بإنشائه برنامج التثبيت أو إزالة التثبيت حيث يكون مجلد فرعي في مجلد الملفات المؤقتة
{fonts}مجلد Fonts
{dao}مسار مجلد DAO
{dotnet11}مجلد .NET Framework version 1.1
{dotnet20}مجلد .NET Framework version 2.0-3.5
{dotnet40}مجلد .NET Framework version 4.0 فما فوق
{group}مجلد قائمة إبدأ الذي يقوم المستخدم بتحديده
{localappdata}مجلد local في appdata
{userappdata}مسار مجلد Roaming
{commonappdata}مجلد program data
{userdesktop}مجلد سطح المكتب الخاص بالمستخدم الحالي
{commondesktop}مجلد سطح المكتب الخاص بجميع المستخدمين
{userdocs}مجلد مستنداتي الخاص بالمستخدم الحالي
{commondocs}مجلد مستنداتي الخاص بجميع المستخدمين
{userprograms}مجلد programs في قائمة إبدأ الخاصة بالمستخدم الحالي
{commonprograms}مجلد programs في قائمة إبدأ الخاصة بجميع المستخدمين
{usersendto}مسار مجلد إرسال إلى (sendTo)
{userstartmenu}مسار قائمة إبدأ الخاصة بالمستخدم الحالي
{commonstartmenu}مجلد قائمة إبدأ الخاص بكافة المستخدمين
{userstartup}مجلد بدأ التشغيل الخاص بالمستخدم الحالي
{commonstartup}مجلد بدأ التشغيل الخاص بكافة المستخدمين
{cmd}مسار ملف cmd.exe

2. ثوابت أخرى :
الثابتالوصف
{%NAME|DefaultValue}أخذ قيمة من متغيرات النظام, حيث %NAME تعني إسم المتغير مثل %appdata, أما defaultValue فهي القيمة الاحتياطية في حال لم يتم العثور على المتغير المطلوب.
{computername}إسم الكومبيوتر
{drive:path}حيث يتم استخراج القرص الذي يوجد فيه مسار معين
{groupname}إسم وليس المجلد الخاص بالبرنامج في قائمة إبدأ, الإسم فقط بدون المسار.
{hwnd}الرمز الفريد (Handle) الخاص بنافذة المعالج.
{ini:Filename,Section,Key|DefaultValue}قراءة قيمة من ملف INI مثلا {ini:{win}\MyProg.ini,Settings,Path|{autopf}\My Program}
{language}إسم اللغة المختارة في التثبيت, مفيد في حال تريد جعل لغة برنامجك الإفتراضية هي نفسها لغة التثبيت
{cm:MessageName}استخراج نص من عبارة محددة في اللغة
{cm:MessageName,Arguments}إستخراج عبارة محددة من اللغة المختارة مع خصائص إستبدال (%s / %d / %s / %1...)
{reg:keyPath,ValueName|DefaultValue}قراءة معلومة من سجل النظام مثلا {reg:HKLM\Software\My Program,Path|{autopf}\My Program}
{srcexe}المسار الكامل للملف الخاص بالتثبيت
{uninstallexe}المسار الكامل لملف إزالة التثبيت
{username}إسم المستخدم
{log}اسم ملف سجل الأخطاء
إخواني أخواتي
هذا ما تمكنت من جمعه لكم
بإمكانكم أن ترجعوا إلى ملف المساعدة فستجدون بعض التفصيل مع بعض الثوابت الأخرى التي لم أتطرق إليها.
أعذروني إذا كان في الشرح أي تقصير, لاكن والله أنا متعَب للغاية, لذا رجاءا لا تنسوني من خالص دعائكم.
كان معكم أخوكم في الله ناصر بعزيز
دمتم على خير والسلام عليكم ورحمة الله تعالى وبركاته.
 
عودة
أعلى