سهند عزیز همین الان یاد داشت شما را دیدم.
روش استفاده از رجستری بسیار ساده است. البته شما نیاز به دانلود کردن یک پلاگ این چند کیلو بایتی دارید
اجازه بدهید مطالب و نیاز ها را حمع آوری کرده و سعی میکنم که اگر زنده بودم ، مطلب را فردا توضیح دهم.
سهند عزیز همین الان یاد داشت شما را دیدم.
روش استفاده از رجستری بسیار ساده است. البته شما نیاز به دانلود کردن یک پلاگ این چند کیلو بایتی دارید
اجازه بدهید مطالب و نیاز ها را حمع آوری کرده و سعی میکنم که اگر زنده بودم ، مطلب را فردا توضیح دهم.
[SIGPIC][/SIGPIC]
در NSIS به راحتي ميشود با رجستري كار كرد، هم مستقيما" توسط دستورات موجود در NSIS و هم بطور
غير مستقيم مثلا" اجراي يك فايل رجستري توسط NSIS
براي مثال دستور زير فايل xxx.reg را بطور مخفي اجرا خواهد كرد:
براي اينكه بتوان مستقيما" با استفاده از دستورات NSIS با رجستري كار كرد، لازم است كه يك plug-in باکد:ExecWait "regedit.exe /s C:\xxx.reg"
حجم 129 كيلو بايت را از لينك زير دانلود كرده و به NSIS اضافه نمائيد.
Registry plug-in
توجه داشته باشيد كه پس از اضافه كردن Registry plug-in به NSIS ، بايستي هر زماني كه لازم است از
دستورات رجستري استفاده نمائيد، حتما" بايد دستور زير را در سطر اول يا دوم كد هايتان وارد نمائيد تا
NSIS بتواند دستورات مربوطه را اجرا نمايد:
در ضمن برنامه كوچكي بنام Reg2Nsis با حجم 170 كيلو بايت وجود دارد كه ميتواند فايل هاي رجستري را بهکد:!include registry.nsh
دستورات NSIS تبديل كند. اين برنامه را ميتوانيد از لينك زير دانلود نمائيد:
Reg2Nsis
موارد گفته شده را امتحان كرده و در صورت لازم سوالات خود را مطرح نمائيد.
يك توضيح
======
سهند عزيز، در چند مورد درخواست آموزش چگونگي ساخت فايل هاي Setup البته بروشي غير از استفاده
از برنامه هاي اينكاره موجود را داشتيد.
اگر عمري باشد سعي ميكنم كه پس از پايان مبحث بالا،يك روش خيلي ساده را در اين رابطه توضيح دهم.
[SIGPIC][/SIGPIC]
استاد یه مشکلی در پک کردن این نرم افزار برام پیش اومد البته با این صورت که :
ما 2تاپوشه داریم که میخواهیم پوشه a به Program Files
وپوشه b به Common Files کپی بشه بعد توی منوی استارت همنام با پوشه a پوشه ای درست بشه وشورتکاتهای برنامه داخل اون باشه و در اخر یه فایل رجیستری اجرا بشه وهمه اینکارها بصورت سایلنت باشه
البته با کمک این نرم افزار
hm nis edit 2.0.3
من فرض ميكنم كه شما:
1. پوشه اي بنام 00 در درايو F درست كرده و پوشه هاي A و B كه حاوي فايل هايتان هستند را درون اين
پوشه فرار داده ايد.
2. براي اينكه فايل نهائي داراي آيكن مورد نظر شما باشد، آيكن مورد نظرتان با نام فرضا" mcs.ico را هم
درون پوشه F:\00 گذاشته ايد.
حال ميتوانيد بشرح زير توسط اجراي برنامه hm nis edit نيازتان را برآورده كنيد. برنامه hm nis edit را اجرا كرده
و سپس مطابق شكل زير روي آيكن New script كليك كنيد تا Wizard برنامه شروع شود.
1. در صفحه اول در جلوي قسمت Application name عنوان برنامه خود را (مثلا" xxxx) وارد كرده و بعد در قسمت
زير آن ورژن برنامه را وارد نمائيد.
در اين صفحه در سطور بعدي ميتوانيد نام سازنده و آدرس سايت مربوطه را وارد كرده و يا اگر نميخواهيد ميتوانيد
اطلاعات موجود در اين دو محل را پاك كنيد.
نمونه ساده را در شكل زير مشاهده مي كنيد
توجه داشته باشيد كه نامي كه در اين مرحله وارد مي كنيد،در حقيقت در حالت نرمال (يعني اگر در مراحل بعد
كد ها را دستكاري نكنيد)، نام پوشه اي هست كه درون پوشه Program Files درست خواهد شد و برنامه شما
درون آن نصب خواهد گرديد.
براي اين مثال كه نام xxxx را وارد كرديم يعني فايل هاي ما درون پوشه Program Files\xxxx نصب خواهند شد.
2. در صفحه بعدي مطابق شكل زير بايستي مشخصات فايل نهائي كه بايد ساخته شود را وارد نمائيم
همانطور كه در شكل بالا مي بينيد در اين مثال موارد زير انتخاب شده اند:
__ فايل نهائي داراي آيكن F:\00\mcs.ico باشد.
__ نام فايل نهائي Setup.exe باشد.
__ انتحاب گزينه None در قسمت GUI (يعني اينكه برنامه بصورت سايلنت اجرا شود).
3. با انتحاب هاي بالا در صفحه بعدي عبارت $PROGRAMFILES\xxxx را نشان خواهد داد كه ميگويد فايل هاي
برنامه درون پوشه اي بنام xxxx درون Program Files نصب حواهد شد.
كه در حالت معمول بايد همين را قبول كرده و با كليك روي دكمه Next به صفحه بعد برويد و يا اگر ميخواهيد برنامه
در محل ديگري نصب شود بايستي در اين جا انتحاب نمائيد كه برابر درخواست شما در پست بالا، بايد در اين
زمان با كليك روي دكمه Next به صفحه بعد برويد.
4. در صفحه بعد مطابق شكل زير دو سطر عبارت خواهيد ديد
سطور بالا لازم نيستند و بايد آن ها را پاك كنيم. با كيك روي هر سطر و بعد كليك روي آيكن ديليت ، سطر
مورد نظر پاك خواهد شد.
================
اگر عمري باشد ادامه مطلب را در جلسه بعدي توضيح خواهم داد.
(شرمنده ام، مريضي اجازه فعاليت بيشتر نميدهد)
[SIGPIC][/SIGPIC]
صفحه اي كه داخلش شده و سطور موجود در آن را پاك كرديم، صفحه اي هست كه آدرس تمام فايل هاي مورد
نياز برنامه را خواهد گرفت.
در سمت راست اين صفحه چهار عدد آيكن در كنار هم قرار دارند كه در شكل زير آن ها را با شماره هاي 1 تا
4 مشخص كرده ام.
_ آيكن (1) وظيفه اش ديليت كردن محتوائي هست كه انتخاب شده كه چگونگي كارش را در پست قبلي ديديم.
_ اگر بخواهيم به برنامه hm nis edit بگوئيم كه برنامه ما شامل كدام فايل ها هست، بايستي روي يكي از
دو آيكن 3 يا 4 كليك كنيم
اگر بخواهيم به برنامه بگوئيم كه محتواي يك پوشه را انتحاب كند بايد روي آيكن (3) كليك كنيم.
اگر بخواهيم فقط يك عدد فايل به برنامه معرفي كنيم بايستي روي آيكن (4) كليك كنيم.
بهر حال پس از كليك كردن روي آيكن 3 يا 4 پنجره اي نمودار خواهد شد كه ما بايد در اين پنجره فايل يا پوشه
را مشخص نمائيم.
اگر فايل هاي برنامه ما درون بيش از يك پوشه قرار گرفته باشند مجبوريم براي وارد كردن هر پوشه يك بار روي
آيكن 3 كليك كرده و ادامه دهيم.
مثلا" در مثال شما برنامه داراي دو پوشه A و B است لذا ما بايد براي وارد كردن اين دو پوشه يايستي دو بار از
آيكن 3 استفاده نمائيم.
بهر حال بصورت زير ادامه دهيد:
1. در شكل بالا روي آيكن (3) كليك كنيد، پنجره اي شبيه شكل زير ظاهر خواهد شد:
براي اينكه محتواي پوشه A را به برنامه معرفي نمائيد روي كليد "..." كليك كرده و مطابق شكل بالا آدرس
F:\00\A را انتخاب كنيد.
همانطور كه مي بينيد برنامه بطور اتوماتيك در قسمت Destination directory عبارت INSTDIR $ را انتحاب
كرده است.
در اين محل ما بايد مشخص كنيم كه محتواي پوشه A در كجا بايد قرار بگيرند.ما در صفحه اول ويزارد برنامه
نام xxxx را انتخاب كرده بوديم.اگر بخواهيم پوشه اي بهمين نام درون Program Files درست شده و محتواي
پوشه A بداحل آن كپي شوند، بايستي در اينجا عبارت INSTDIR $ كه برنامه انتحاب كرده را قبول كنيم كه
چون ما همين را ميخواهيم لذا در اين مرحله روي دگمه OK كليك مي كنيم.
حواهيد ديد كه چند لحظه بعد اسامي محتويات پوشه A درون پنجره نوشته شدند.
حالا بايد محتواي پوشه B را به برنامه معرفي كنيم، براي اين كار دوباره روي آيكن (3) كليك كرده و اين دفعه
در صفحه بعد آدرس F:\00\B را انتخاب مي كنيم.
ما در بالا محل Program Files\xxxx را براي محتويات پوشه A انتخاب كرديم ولي در اينجا ما نميخواهيم كه
محتواي پوشه B هم در آن جا باشندبلكه ميخواهيم محتواي پوشه B درون پوشه Program Files\Common Files
كپي شوند.
براي اين كار بايستي مطابق شكل زير در قسمت Destination directory گزينه COMMONFILES $ را انتخاب
كنيم.
توضيح اينكه گزينه هاي مختلفي كه در شكل بالا تعدادي از آن ها را مشاهده مي كنيد، اصطلاحا"
Environment Variables ناميده مي شوند كه يادگيري تك تك آن ها براي كسي كه ميخواهد توسط NSIS
كار كند يك بايد است.
ما ميحواهيم كه يك فايل رجستري هم (مثلا" xxx.reg) در پايان كار اجرا شود.
براي اينكار روش هاي متعددي وجود دارد. من در اينجا تصميم گرفتم كه فايل xxx.reg را هم به برنامه معرفي
كنم كه بعدا" بگويم چگونه كار كند.
لذا در اين مرحله فايل xxx.reg را هم درون پوشه F:\00 قرار داده و سپس روي آيكن 4 كليك كرده و بعد مطابق
شكل زير آن را انتحاب كرده و سپس TEMP را بعنوان محل نگهداري آن انتحاب كردم.
حالا كه تمام فايل هاي مورد نياز به برنامه معرفي شده بعد از كليك روي دگمه Next به مرحله اي ميرسيم كه
كه بايد شورت كات هاي برنامه را مشخص نمائيم كه چگونگي را در جلسه بعد ادامه خواهم داد.
[SIGPIC][/SIGPIC]
در اين مرحله صفحه اي شبيه شكل زير حواهيد ديد:
در اين صفحه در قسمت بالا بايد نام پوشه اي كه ميحواهيم در منوي استارت درست شود نوشته مي شود.
كه در اين مثال در شكل بالا نام برنامه ما يعني xxxx نوشته شده است.
پائين تر عبارت ... Create an Uninstall icon را مي بينيد كه انتحاب شده است.
اگر مطابق شكل اين عبارت تيك خورده باشد (يعني انتحاب شده باشد) ، بعد از نصب برنامه شورت كاتي براي
Uninstall كردن برنامه در منوي استارت گذاشته خواهد شد. و اگر انتخاب نكنيد شورت كات Uninstall در منوي
استارت وجود نخواهد داشت.
در قسمت پائين اين صفحه بايد تمام شورت كات هائي را كه مي خواهيد وجود داشته باشند، را مشخص نمائيد.
معمولا" خود برنامه بطور اتوماتيك براي فايل هاي اجرائي و نيز فايل هاي راهنماي موجود درون فايل هاي شما ،
كد هاي شورت كات ها را مي نويسد كه معمولا" بدرد نمي خورند و بهتر است كه خودتان بشرح زير اين كار را
انجام دهيد.
اول شورت كات هائي را كه حود برنامه بطوز اتوماتيك نوشته نگاه كنيد، اگر درست هستند كه بگذاريد باشند.
ولي اگر درست نيستند بايد آن ها را پاك كرده و حودتان كد هاي مربوطه را بنويسيد.
هر سطر براي يك شورت كات هست.براي پاك كردن هر سطري ، آن سطر را انتحاب كرده و سپس در بالاي
نوشته ها روي گزينه Remove shortcut كليك كنيد.
اگر شورت كاتي ميخواهيد اضافه كنيد روي گزينه New Shortcut در بالاي نوشته ها كليك كرده و در صفحه اي
كه ظاهر ميشود بايد محل ايجاد شورت كات و نام شورت كات را مشخص نمائيد.
بعد از اينكه كارتان در اين صفحه تمام شد روي كليد Next كليك كنيد.
صفحه ديگزي باز مي شود كه در اين صفحه ميتوانيد مشحصه هاي مربوط به Uninstall كردن برنامه را وارد كنيد
و يا اينكه تيك جلوي گزينه Use Uninstaller را برداريد كه برنامه Uninstaller نسازد.
دز صفحه بعد ساخت اسكريت نهائي را انتحاب كرده و بهتر است گزينه Compile script را انتخاب نكنيد.
فايل اسكريپت نهائي در محلي كه شما معين ميكنيد درست حواهد شد.
حال مي توانيد اسكريپت را باز كرده و نگاه كنيد كه كمبودي نداشته باشد.و بعد در صورتيكه مشكلي نبود ميتوانيد
روي اسكريپت كليك راست كرده و گزينه Compile را انتخاب نمائيد تا فايل نهائي ساخته شود.
ولي در اين مثال كد هاي ما كامل نيست چون كه ما دستور داده ايم كه فايلي بنام xxx.reg به پوشه TEMP
كپي شود ولي هنوز كدي در رابطه با آن ننوشته ايم.
لذا اسكريپت ساخته شده را باز كرده و اول عبارت زير را به اول آن اضافه مي كنيم تا برنامه بتواند با فايل رجستري
كار كند:
با دستورات محتلفي مي شود فايل رجستري مورد نظر را اجرا كرد، يك روش ساده اين است كه در داحل قسمت Section سطر قبل از SectionEnd دستور زير را وارد نمائيد:کد:!include registry.nsh
حال كار تمام شده و ميتواني اسكريپت نهائي را كامپايل كنيد.کد:ExecWait "regedit.exe /s $TEMP\xxx.reg" Delete $TEMP\xxx.reg
نكته نهائي: اكثريت نكاتي كه در اين بحث گفته شده براي افرادي كه با كد هاي NSIS كار نكرده اند، نامفهوم
خواهد بود.
منظور اينكه كسي كه با برنامه HM NIS Edit و يا هر برنامه مربوط به NSIS كار ميكند و يا خودش مستقلا" كد
مي نويسد اول بايد با كليات اين برنامه آشنا باشد.
موفق باشيد.
[SIGPIC][/SIGPIC]
با سلام استاد 2 تا درخواست ازتون دارم
1- استاد میشه یه فرمول کلی برای ایجاد یه سکریپت nsis برام تشریح کنید که باتوجه به اون فرمول کلی بشه یه اسکریپت nsis رو درست کرد
باتوجه به این که تعدادی فایل وتعدادی فولدر ویه فایل رجیستری داریم
2- چندتایی مثال بزنید تا باتوجه به اون روال کار دستم بیاد
سعي ميكنم كه با دو مثال چگونگي ساخت كلي فايل هاي 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 قبول نخواهد كرد.
اگر عمري باشد، در جلسه بعد دستورات استفاده شده در كد هاي بالا را توضيح داده و با مثالي ديگر، امكاناتي
ديگر به برنامه اضافه خواهيم كرد.
[SIGPIC][/SIGPIC]
شرح مختصر دستورات بكار رفته در مثال (1)
========================
دستور سطر اول: براي اينكه برنامه NSIS بتواند فايل هاي رجستري را اجرا كند، اول بايستي پلاگ اين رجستري
را دانلود و نصب كنيد. و منبعد هر وقت قرار باشد كه در داحل كد هايتان با فايل يا فايل هاي رجستري كار كنيد
بايد حتما" در بالاي كد هاي برنامه دستورات سطر اول را بنويسيد. ما هم چون در مثال 1 با فايل رجستري كار
داريم لذا اين سطر را نوشتيم.
دستور سطر دوم (SetCompressor): در اين سطر به برنامه ميگوييم كه فايل نهائي را چقدر فشرده كند. مقدار
بكار رفته در اين سطر ZLIB است كه بهتر است همواره همين را استفاده نمائيد.
دستور سطر سوم (InstallDir): در اين سطر به برنامه ميگوئيم كه فايل هاي ما را در كدام محل بگذارد كه در اين
مثال گفته ايم فايل هاي ما را داخل پوشه Program Files\AAA كپي كند.
دستور سطر چهار (OutFile): در اين جا بايد مشحص كنيم كه برنامه نام فايل نهائي را چه عبارتي تعيين كند كه
در اين مثال حواسته ايم كه نام فايل نهائي xxx.exe باشد.
دستور سطر پنجم (Icon): در جلوي اين دستور نام آيكني را مي نويسيم كه مي خواهيم فايل نهائي با آن آيكن
ساخته شود.
دستورات سطور 6 تا 12 چگونگي كار فايل نهائي را مشحص مي نمايند كه اگر ميخواهيد فايل نهائي بصورت
اتوماتيك و مخفي اجرا شود بايد همواره همين عبارت ها را بنويسيد.
دستور سطور 13 و 24 - دستوراتي كه بايد فايل نهائي اجرا كند را بايد حتما" ما بين دو عبارت Section و
SectionEnd بنويسيم.
توضيح اينكه در اين برنامه فقط يك Section با نام (Section Main) داريم ولي مي توان در صورت نياز Section
هاي ديگري هم داشت.
دستور سطر 14 (SetOutPath): در هر برنامه بر اساس نيازمان لازم داريم كه به برنامه بگوئيم كه يك يا چند دستور
را اجرا كند. لازم هست كه قبل از اعلام هر دستور ، اول به برنامه بگوئيم كه دستور زير را در كجا بايد انجام دهد.
كه در اين مثال در اين سطر به برنامه گفته ايم كه دستوري كه داده مي شود را در محل INSTDIR اجرا كند. كه
همانطور كه در دستور سطر (3) گفتيم INSTDIR برابر Program Files\AAA است. يعني با اين دستور به برنامه
گفته ايم كه دستور زيري را در آدرس پوشه Program Files\AAA انجام دهد.
دستور سطر 15 : در اين جا با دستوري كه مي بينيد به برنامه گفته ايم كه تمام محتواي پوشه A را به محل
INSTDIR يعني Program Files\AAA كپي نمايد.
دستورات سطور 16 و 17 و 18 : در اين مثال ما ميخواهيم كه برنامه يك پوشه بنام AAA در داخل منوي استارت
درست كرده و در داخل آن شورت كات فايل اجرائي برنامه را قرار دهد.
با دستور سطر 16 پوشه اي بنام AAA داخل منوي استارت ساخته مي شود.
با دستور سطر 17 شورت كات فايل AAA.exe كه فايل اصلي اجرائي هست در داحل پوشه AAA درون منوي
استارت ساخته مي شود
با دستور سطر 18 شورت كات فايل AAA.exe در دسكتاپ ساخته مي شود.
دستورات سطر 19 تا آخر: در اين مرحله بايد دستور انجام كار ديگري را بدهيم كه در اين مثال مي حواهيم
به برنامه بگوئيم كه فايل رجستري مورد نظر ما يعني فايل do.reg را اجرا نمائد.
در سطز 19 به برنامه ميگوئيم كه دستور بعدي را در محل پوشه TEMP اجرا كند.
در سظر 20 به برنامه ميگوئيم كه فايل do.reg را به پوشه TEMP كپي كند.
در سطر 21 از برنامه ميخواهيم كه فايل رجستري موجود در پوشه TEMP يعني فايل do.reg را اجرا كند.
در سطر 22 از برنامه ميخواهيم كه مدت 300 ميلي ثانيه صبر كند و بعد مطابق دستور سطر 23 ميخواهيم كه
فايل do.reg موجود در پوشه TEMP را ديليت كند.
با مختصزي دقت در كد ها و چند تمرين، متوجه خواهيد شد كه كار چقدر راحت هست.
با مثالي ديگر در جلسه بعد، سعي خواهم كرد كه چگونگي اضافه كردن اعمالي ديگر را به كد هاي بالا توضيح
داده و بحث را تمام كنم.
[SIGPIC][/SIGPIC]
سهند عزيز ، ميتوان گفت كه جواب سوال شما در طي دو جلسه قبل توضيح داده شد. اكنون شما فرمولي
داريد كه فقط با تغيير دادن عبارات جلوي دستورات مختلف در اين فرمول،به سادگي ميتوانيد فايل هاي نصب
اتوماتيك مختلفي درست كنيد.
در بحث امروز فقط توضيحاتي در رابطه با اضافه نمودن دستوراتي ديگر به فرمول مورد بحث يا كم كردن دستوراتي
از آن صحبت مي كنيم.
مثال (2) اضافه نمودن اعمالي ديگر به كد هاي گفته شده در مثال (1)
=======================================
فرض مي كنيم كه دو تا فايل به نام هاي aaa.txt و bbb.png داريم و ميخواهيم كه برنامه در حين نصب اين دو تا
فايل را به درون پوشه windows كپي كند. بشرح زير عمل مي كنيم:
1. وقتي بخواهيم دستور يا دستوراتي به دستورات بالا اضافه كنيم؛ بايد آن ها را در بين دو عبارت Section Main
و SectionEnd بنويسيم.
در اينجا مي آئيم دستورات لازم را بعد از پايان يكي از دستورات بالا مي نويسيم. فرضا" دستورات جديد را بعد از
دستورات ساخت شورت كات ها يعني بعد از سطر 18 در مثال بالا اضافه مي كنيم
در اين جا ما ميخواهيم كه دو تا فايل مورد نظر ما به درون پوشه windows كپي شوند ، يعني محل اجراي دستور
داخل پوشه windows است.
بنابر اين دستورات زير را در محل گفته شده تايپ مي كنيم:
همانگونه كه مشاهده مي كنيد در دستورات بالا در اولين سطر محل اجراي دستور يعني پوشه windowsکد:SetOutPath "$WINDIR" File "aaa.txt" File "bbb.png"
معرفي شده و در دو سطر بعدي مشخص شده كه فايل هاي aaa.txt و bbb.png بايد به داخل پوشه ويندوز
كپي شوند.
با مختصري دقت و تمرين در مورد اين دستوري كه توضيح داده شد و دستوراتي كه در مثال قبلي شرح داده شدند،
مي شود فهميد كه براحتي ميتوان هر فايل يا پوشه را در هر حائي كه لازم هست قرار داد و كاربر در اين موارد تنها
نيازي كه دارد اين است كه نام جا هاي مختلف را بداند .
براي مثال در اين دستور و دستورات جلسه قبل ديديم كه برنامه NSIS عبارت WINDIR را بعنوان پوشه windows
و عبارت PROGRAMFILES را بعنوان پوشه Program Files و.... مي شناسد.
يعني كاربر بايستي اين عبارات را بشناسد. توضيح اينكه اين عبارات تحت عنوان اصطلاحا" NSIS Constants و نيز
NSIS Environment Variables در راهنماي داخل NSIS شرح داده شده اند.
موفق باشيد.
[SIGPIC][/SIGPIC]
علاقه مندی ها (بوک مارک ها)