سلام
دوستان کار خیلی ساده است . برای انجام این پروژه لازم است که کاربر قبلا" برنامه NSIS و پلاگ این رجستری
مربوطه را نصب کرده باشد.NSIS و پلاگ این لازم را با حجم 1.53 مگا بایت در لینک زیر آپلود کرده ام.
NSIS.rar
ShiftFile - Free File Hosting and File Sharing
تمام فایل ها و پوشه هایی که در جلسه قبل نام بردم ،بعلاوه دو عدد آیکن و یک فایل بنام MyTool.nsi را در لینک
زیر آپلود کردم (MyTool.rar حجم 950 کیلو بایت) ، که در سطور بعد در موردشان صحبت خواهم کرد.
MyTool.rar
ShiftFile - Free File Hosting and File Sharing
با فرض اینکه شما فایل فشرده بالا را دانلود کرده و از فشردگی درآورده اید الان باید پوشه ای با نام MyTool در
جلوی شما باشدکه حاوی تمام فایل های لازم این مبحث میباشد.
تمام کد هاییکه برای ساخت این پروژه لازم است را در فایل MyTool.nsi موجود در داخل پوشه MyTool نوشته ام.
یعنی اگر در این زمان برنامه NSIS و پلاگ این مربوطه را در سیستم نصب کرده باشید فقط کافی است که روی
فایل MyTool.nsi کلیک راست کرده و روی گزینه Compile NSIS script کلیک کنید.
در عرض چند ثانیه فایلی بنام setup.exe داخل پوشه MyTool ساخته خواهد شد که این فایل به تنهایی تمام
فایل ها را دارد و اگر شما فقط این فایل را برده و در هر سیستمی اجرا کنید نصب شده و تمام کار هایی را که در
جلسه قبل گفتم انجام خواهد داد.
ولی برای اینکه شما بتوانید این کار را با برنامه های مورد نظرتان انجام دهید ، و یا چیز هایی به این پروژه اضافه
و یا از آن کم کنید، لازم است که به شرح کد های داخل فایل MyTool.nsi که در زیر خواهم گفت توجه نمایید.
با مطالعه مختصر سطور زیر ،برای کار های بعدی ، فقط نیاز خواهید داشت که در این کد نام ها را عوض کنید و یا
سطور مشابهی را اضافه و یا کم نمایید.
اما شرح کد های فایل MyTool.nsi
--------------------------------------
فایل MyTool.nsi یک اسکریپت متنی است یعنی میتوانید این فایل را با notepad باز کرده و تمام کد هایش را ببینید.
البته من پیشنهاد میکنم که جهت دیدن هر فایلی که متنی بوده ولی حاوی کد های اسکریپت و یا کد های زبان
های برنامه نویسی است ، بجای notepad از برنامه رایگان وبسیار عالی بنام ++notepad استفاده نمایید.
بهر حال اگر فایل مورد نظر را با برنامه ++notepad باز کنید خواهید دید که این فایل از تعداد 111 سطر کد تشکیل
شده است.
دقت کنید که برنامه NSIS این 111 سطر را بترتیب از سطر 1 شروع کرده و یک به یک اجرا خواهد کرد تا به آخر برسد.
__ قسمت اول کد را در زیر مشاهده میکنید:
کد:
; Made by M_Shirin zaban.
; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "MyTool"
!define PRODUCT_VERSION "1.0"
!define PRODUCT_PUBLISHER "p30ask group"
!define PRODUCT_WEB_SITE "http://forum.p30ask.com/"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Thank you.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
سطر اول کد های بالا فقط یک شرح یا توضیحات است که بنده در این مثال نوشته ام که اسکریپت توسط شیرین زبان
نوشته شده. شما میتوانید هر چه دوست داشتید در این سطر بنویسید و یا حتی این سطر را کاملا" حذف کنید.
سطر 2 خالی بوده و سطر 3 هم فقط توضیحات است. در کل هر سطری که با علامت ; شروع شده باشد، توضیح بوده
و شما میتوانید تمام سطوری را که اولشان علامت ; وجو دارد را حذف کنید بدون اینکه تاثیری در کار نهایی داشته باشد.
سطور 4 تا 7 مشخصات فایل نهایی ساخته شده شماست که بشرح زیر است:
__ در سطر 4 مابین علایم " " باید نام مورد نظرتان را برای برنامه خود بنویسید. که من در این مثال از نام MyTool استفاده
کرده ام. وجود این سطر ضروری است ، شما میتوانید در این قسمت هر نام دلخواه خود را بنویسید ولی نمیتوانید این
سطر را حذف کنید.
__ سطو ر 5و 6 و 7 کد بالا ورژن ، سازنده و سایت سازنده را مشخص میکند. میتوانید این مشخصه ها را بدلخواه عوض
کرده و یا میتوانید این سه سطر را حذف نمایید.
__ سطور 8 و 9 و 10 تنظیمات برنامه ما را در رجستری مشخص میکنند. میشود این سه سطر را هم حذف کرد و مشکلی
پیش نخواهد آمد ولی برای استاندارد بودن برنامه ، بهتر است استفاده کنیم.توضیحا" عرض کنم که وقتی برنامه ای
مثلا" WinAmp را در سیستممان نصب میکنیم ، این برنامه در یک جایی از رجستری سیستم (مثل سطر 8 بالا )
جایی در رجستری ساخته و در آن جا نام فایل اجرایی خودش را می نویسد. در این مثال چون یک مثال واقعی نبوده و ما
فایل اجرایی اصلی نداریم لذا بنده در این قسمت نام Thank you.exe را نوشته ام. البته عرض کردم که میتوانید این
سطور را حذف کنید.
در صورتیکه از سطر 8 استفاده میکنید وجود سطور 9 و 10 لازم است که برای پاک کردن رد پای برنامه ما در رجستری در
زمان Uninstall کردن استفاده میشوند و نیازی نیست که در این دو سطر تغییری بدهید.
قسمت بعدی کد های مورد بحث بصورت زیر است:
کد:
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "setup.exe"
InstallDir "$PROGRAMFILES\MyTool"
Icon "Install.ico"
UninstallIcon "UnInstall.ico"
SilentInstall silent
SilentUninstall silent
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
با سطر 1 از کد های بالا هیچوقت کاری ندارید
در سطر 2 بایستی مابین علایم " " نامی برای فایل نصب نهایی که ساخته خواهد شد بنویسید که بنده در این مثال
از نام setup.exe استفاده کرده ام. ولی شما میتوانید هر نام دلخواه خود را بنویسید.
در سطر 3 باید دایرکتوری اصلی برای نصب برنامه خود را مشخص کنیم. برنامه بصورت پیشفرض همه برنامه ها را داخل
پوشه Program Files میریزد. و در اینجا فقط لازم است که ما نام پوشه ای را که میخواهیم برنامه ما در آن پوشه ریخته
شود را مشخص کنیم که همانطور که می بینید ،بنده نام MyTool را استفاده کرده ام.
این بدان معنی است که برنامه نصب باید پوشه ای بنام MyTool در داخل Program Files درست کرده و فایل های بنده
را داخل آن قرار دهد.
در سطر 4 به برنامه میگوییم که از کدام آیکن برای فایل نصبی که میسازد استفاده کند که در این مثال نام فایل
Install.ico را نوشته ام. از طرف دیگر برنامه خودش برای زمانیکه بخواهیم برنامه را UnInstall کنیم یک فایل UnInstall
درست خواهد کرد که ما در سطر 5 به برنامه میگوییم که از آیکن UnInstall.ico برای آن استفاده کند.
توضیح اینکه آیکن های مورد استفاده برای نصب و عزل باید مشخصات یکسانی داشته باشند و نیز هر دو باید در
دایرکتوری ای باشند که فایل MyTool.nsi قرار دارد.
با سه سطر 6 و7 و 8 بالا کاری نداریم که نوع نصب و عزل برنامه را مشخص میکنند.
تا اینجای کار کد های اولیه لازم (مشخصات اولیه برنامه) را نوشته ایم. در مرحله بعدی باید کد های کار هایی را
که برنامه باید انجام دهد را بنویسیم
که سعی میکنم در فرصت بعدی شرح دهم.