منتدى المنتدى
قسم لغات البرمجة
مذكرة في طرق تثبيت البرامج يدويا
أبو هاجر الحلوة
الجزائر
ديسمبر 2006
بسم الله الرحمن الرحيم و الصلاة و السلام على سيدنا محمد وعلى آله وصحبه والتابعين
وبعد
كثيرا ما اشتكى الإخوة بأن البرامج التي يقومون بتحميلها من المنتدى لا تعمل خاصة تلك المحملة من قسم المصادر المفتوحة وأنهم يواجهون رسائل خطأ كلما حاولوا تشغيلها.
اعلم أيها الأخ الكريم أن هذا أمر طبيعي في مثل هذه الحالات و أن الخلل كثيرا ما يرجع إلى غياب ملفات خارجية لا يقوم أصحاب البرامج بتوزيعها لأنهم يفترضون أن المستعمل يملكها أو لأن العبرة عندهم بمصادر هذه البرامج لا بملفاتها التنفيذية و التطبيقات على العموم أكبر من الملف ذي الامتداد Exe الذي تقوم بتشغيله خاصة تلك المصممة بالفجوال بيسك بل و حتى المصممة بالدلفي نادرا ما تكون ملفات تنفيذية حقيقية مستقلة عن دعم ملفات أخرى اللهم إلا إذا كانت تطبيقات صغيرة تعتمد كليا على الـ vcl .
و أنا هنا أذكر لك الطريقة التي ستتمكن بواسطتها من تثبيت التطبيقات المصممة بالفجوال بيسك يدويا في مرحلة أولى وفي مرحلة لاحقة سنقوم بانجاز برنامج Setupصغير باستعمال ملف batلتتمكن من توزيعه مع مشاريعك.
إذا تبين هذا فلنشرع في المقصود على بركة الله
أولا تثبيت البرامج يدويا :
اعلم أن أي برنامج مصصم بالفجوال بيسك يحتاج إلى نوعين من ملفات الدعم ليعمل
1- ملفات عامة يحتاجها أي برنامج مصمم بالفجوال بيسك و هي
MSVBVM60.DLL
OLEAUT32.DLL
OLEPRO32.DLL
STDOLE2.TLB
ASYCFILT.DLL
COMCAT.DLL
2 – ملفات خاصة بالتطبيق الذي تريد توزيعه
و هي غالبا الأدوات و المكتبات التي قمت باستعمالها في مشروعك كالـ MSCOMCTL. OCX و الـ COMDLG32.OCX و الـ RICHTX32.OCX و الـ VBAME.DLLبالنسبة للتطبيقات العربية إلخ..........
بالنسبة لمكتبات الربط الديناميكي و هي الملفات ذات الإمتداد dll قم بنسخها في مجلد البرنامج أو في مجلد النظام system32 بالنسبة لوينداوز 2000 و Xp و system بالنسبة لوينداوز 98
بالنسبة لمكتبة الـ VBAME.DLL لا بد من نسخها في مجلد النظام كي تعمل .
أما بالنسبة للأدوات و هي الملفات ذات الامتداد OCX فلا يكفي فيها مجرد النسخ في مجلد البرنامج أو مجلد النظام و لكن لا بد من تسجيلها بطريقة صحيحة في سجل النظام حتى يأخذها النظام بالاعتبار
للقيام بتسجيل هذا النوع من الملفات نلجأ إلى البرنامج regsvr32.exeالموجود في مجلد نظام الوينداوز بإتباع الخطوات التالية :
على فرض أننا نريد تسجيل الملف MSCOMCTL. OCX الذي قمنا بنسخه في المجلد C:\Test
من قائمة ابدأ نختار تشغيل
في النافذة التي ستظهر نكتب
كود PHP:
regsvr32.exe "C:\Test\MSCOMCTL.OCX"
ثم نضغط على موافق
ستظهر لنا رسالة تعلمنا بنجاح عملية التسجيل أو فشلها
وهكذا مع بقية الأدوات التي يحتاجها برنامجنا
ثانيا أتمتة عملية تثبيت البرامج باستعمال ملفات الأوامر :
ربما لاحظت أن عملية تسجيل ملفات الـ OCXيدويا قد تكون طويلة ومملة بالنسبة للمستعمل لهذا ربما كان من المستحسن أن تدرج مع برنامجك ملف أوامر ذي امتداد bat يقوم بكل العملية بدلا عنه
و ما على المستعمل إلا أن ينقر عليه مرتين للتتم عملية التثبيت في ثوان
1 – ما هي ملفات الأوامر :
هي ملفات نصية ذات امتداد bat أو com تحتوي على أوامر موجهة إلى مترجم الأوامر (Cmd.exe) و الذي يتكفل بتنفيذها حسب ترتيبها في الملف
لمزيد من المعلومات تستطيع أن ترجع إلى تعليمات الوينداز لأن ما يهمنا هنا هو إنجاز ملف بسيط جدا سيقوم بالمهمة على أكمل وجه إنشاء الله.
2- انجاز ملف Setup صغير
للقيام بهذا ليس هناك أفضل من اعتماد مثال عملي
لنفرض أننا نريد أن ننشأ برنامج تثبيت لبرنامج الوراق العربي ( راجع قسم المصادر المفتوحة) ما هي الملفات التي سنحتاجها
الملف التنفيذي للبرنامج ArWarrak.exe
مكتبة MSVBVM60.DLL
مكتبةVBAME.DLL
مكتبةVB6FR.DLL
الأداةCOMDLG32.OCX
الأداةRICHTX32.OCX
الأداةMSCOMCTL.OCX
لاحظ أني استغنيت عن كثير من مكتبات الدعم الضرورية فيما عداMSVBVM60.DLLهذا لأني قمتبتجريبما سبق على عدة أجهزة ونجح التثبيت بدونها لهذا استغنيت عنهاهنا
بالنسبة للبرنامج و المكتبات فلا تثير أي مشكلة في ما عدا مكتبة VBAME.DLL التي يجب أن نضمن أنها ستنسخ في مجلد النظام
نفتح المفكرة و ندرج الأمر التالي في الملف
copy VBAME.DLL %systemroot%\system32\VBAME.DLL
أما بالنسبة لملفات الـ OCXفيجب أن نضمن تسجيلها في سجل النظام بواسطة الأوامر التالية:
regsvr32 COMDLG32.OCX
regsvr32 MSCOMCTL.OCX
regsvr32 RICHTX32.OCX
قم بحفظ الملف تحت اسمSetup.bat
و بما أن كل تثبيت يكون معه برنامج إزالة التثبيت فإننا سنقوم بانشاء ملف Uninstall.batعبارة عن مجموعة أوامر معاكسة للسابقة تقوم بإزالة تسجيل أدوات الـ OCXمن سجل النظام وهي كما يلي :
regsvr32 /u COMDLG32.OCX
regsvr32 /u MSCOMCTL.OCX
regsvr32 /u RICHTX32.OCX
قم بضغط الملفات السابقة معا لتضمن بأنها ستفك في مجلد واحد أو أضف ملاحظة للمستعمل لتعلمه بأن وضع الملفات جميعا في مجلد واحد شرط ضروري لنجاح عملية التثبيت
تم بحمد الله