سعي ميكنم كه با دو مثال چگونگي ساخت كلي فايل هاي Setup با استفاده از برنامه NSIS را شرح دهم كه
شما ميتوانيد كد هاي گقته شده را بعنوان يك فرمول كلي در اكثر موارد استفاده نمائيد.
كد ها را طوري نوشته ام كه شما براي ساخت هر نوع Setup فقط لارم داريد كه چند تا نام را در داخل كد ها
تغيير دهيد.
و يا در صورت نياز ميتوانيد دستوراتي را از داخل كد ها حذف كرده و يا دستوراتي را برابر نيازتان براي موارد مختلف
چندين بار تكرار كنيد.
مسلم است كه بايستي مطالبي كه شرح داده مي شود را با دقت كافي مطالعه كرده و وقت كافي جهت تمرين
مطالب گفته شده بگذاريد.
توضيح:
====
با روشي كه توضيح داده ميشود، در انتهاي كار شما فرمولي را خواهيد داشت كه با استفاده از آن ميتوانيد انواع
نصب هاي اتوماتيك عمومي را بسازيد.
ولي در اين فرمول جائي براي Uninstall كردن و يا وارد كردن پاره اي از اطلاعات نيست. يعني با اين روش در حقيقت
ما داريم يك Extractor اتوماتيك درست مي كنيم. بطور ديگر بگويم با اين روش ما داريم كپي شدن تعدادي فايل و پوشه
را بجا هاي دلخواهمان و يا اجراي يك فايل رجستري را بصورت اتوماتيك انجام مي دهيم.
براي داشتن يك Setup كامل بايد بطور ديگري عمل كرد مثلا" استفاده از يرنامه هاي مخصوص اين كار. ولي بهر حال
اين روش هم در بسياري از موارد كاملا" كار ساز و كافي است.
مثال (1)
=========
فرض مي كنيم كه:
1. پوشه اي بنام A داريم كه در داخل آن تعدادي فايل و چند تا پوشه مختلف وجود دارند كه فايل اصلي قابل اجرا
بنام AAA.exe هم داخل اين پوشه مي باشد.
2. ميخواهيم بعد از ست آپ پوشه اي بنام AAA درون پوشه Program Files درست شده و تمام محتويات پوشه
A درون آن كپي شوند.
3. ميخواهيم پوشه اي بنام AAA درون منوي استارت درست شده و در داخل آن يك شورت كات براي فايل AAA.exe
گذاشته شود.
4. ميخواهيم كه يك شورت كات ديگر براي فايل AAA.exe در دسكتاپ درست شود.
5. يك فايل رجستري بنام do.reg داريم كه ميخواهيم در پايان كار اين فايل اجرا شود.
6. مي خواهيم كه فايلي بنام xxx.exe درست كنيم كه آيكن دلخواه ما را داشته باشد و بتواند تمام اعمال بالا را
بطور اتوماتيك و محفيانه انجام دهد.
براي ساخت فايل xxx.exe توسط NSIS به شرح زير عمل ميكنيم:
1.در روت يكي از درايو ها پوشه اي بنام فرضا" Sahand درست كنيد (مثلا" D:\Sahand).
2. پوشه A را با محتوياتش درون پوشه D:\Sahand كپي كنيد.
3. فايل رجستري do.reg را هم درون پوشه D:\Sahand كپي كنيد.
4. آيكني را كه ميخواهيد فايل نهائي داراي اين آيكن باشد را تهيه نموده و آن را با نام mcs.ico درون پوشه
D:\Sahand كپي نمائيد.
5. برنامه notepad را اجرا كرده و سپس متن زير را درون آن كپي نموده و سپس آن را با نام فرضا" xxx.nsi
درون پوشه D:\Sahand در كنار بقيه فايل ها ذخيره كنيد:
کد:
!include registry.nsh
SetCompressor ZLIB
InstallDir "$PROGRAMFILES\AAA"
OutFile "xxx.exe"
Icon "mcs.ico"
SilentInstall silent
CRCCheck off
AutoCloseWindow true
WindowIcon off
XPStyle on
ShowInstDetails hide
ShowUninstDetails hide
Section Main
SetOutPath "$INSTDIR"
File /nonfatal /a /r "A\"
CreateDirectory "$SMPROGRAMS\AAA"
CreateShortCut "$SMPROGRAMS\AAA\AAA.lnk" "$INSTDIR\AAA.exe"
CreateShortCut "$DESKTOP\AAA.lnk" "$INSTDIR\AAA.exe"
SetOutPath "$TEMP"
File "do.reg"
${registry::RestoreKey} "$TEMP\do.reg" $R0
Sleep 300
Delete $TEMP\do.reg
SectionEnd
6. روي فايل xxx.nsi كليك راست كرده و روي گزينه Compile كليك كنيد. بعد از چند لحظه فايلي بنام xxx.exe
درون پوشه D:\Sahand در كنار بقيه فايل ها درست خواهد شد كه اگر اجرايش كنيد تمام موارد گفته شده در
بالا را انجام خواهد داد.
توجه داشته باشيد كه آيكني كه انتحاب مي كنيد ساده باشد (فقط اندازه هاي 48 و 32 و 16 را داشته باشد)
چون اگر حجم آيكن بالا باشد برنامه NSIS قبول نخواهد كرد.
اگر عمري باشد، در جلسه بعد دستورات استفاده شده در كد هاي بالا را توضيح داده و با مثالي ديگر، امكاناتي
ديگر به برنامه اضافه خواهيم كرد.