نمونه ساخت فايل نصب بر اساس Inno setup
دوست بسيار ارجمندم عضو محنرم انجمن (سهند) درخواسبت بحث در مورد برنامه ست آپ ساز Inno setup را داشتند.
طبق عادتي كه دارم اول بايد حرف دلم را بنويسم تا خالي و سبك شوم كه بتوانم مطالب ديگر را عرض كنم.
سن بالا رفته و حوصله و توان جواني نمانده ، از طرف ديگر مريضي هاي جسمي هم مزيد بر علت گشته و بعد هم
مهمتر از همه پاره اي مشكلات زندگي خسته ام كرده و توان و حوصله را از من گرفته اند. ولي چكنم كه هم اين
انجمن را بسيار دوست ميدارم و هم دوست ارجمندم (سهند) برايم عزيز هست و نميتوانم جوابش را ندهم. لذا مطلب
را البته مختصر و در حد توان شرح مي دهم.
در اين مثال بسيار ابتدائي، من فرمول شروع كار با برنامه ست آپ ساز Inno setup را بصورت يك فايل اسكريپت داده
و شما ميتوانيد با استقاده از اين فايل و فقط با تغيير دادن نام ها در اين اسكريپت از آن در برنامه هاي خود استفاده نمائيد.
و بديهي است كه بعد از مقداري مطالعه برنامه Inno Setup مي توانيد با اضافه كردن سطور ديگر به اين اسكريپت
از آن در بقيه پروژه هاي خود بهره ببريد.
من در اين مثال 4 عدد فايل زير را دارم:
RegConvert.exe
RegConvert.ini
USB Port Locked.exe
USBFormatTool.exe
اين فايل ها سه تا برنامه پرتابل ذاتي هستند كه:
_ فايل RegConvert.exe ميتواند فايل هاي رجستري را به فايل Batch يا اسكريپت ويژوال بيسيك و يا autoit تبديل كند.
_ فايل USB Port Locked.exe ميتواند پورت USB كامپيوتر را عملياتي و يا غير عملياتي نمايد.
_ فايل USBFormatTool.exe ميتواند USB شما را بصورت FAT يا 32 FAT يا NTFS و يا EXFAT فرمت نمايد.
من در اين مثال ميخواهم فايل هاي بالا را داخل يك فايل نصب داشته باشم. يعني ميخواهم يك فايل نصب داشته باشم كه
با اجراي آن ، فايل هاي بالا در محل بخصوصي از كامپيوتر نصب شده و شورت كات هاي آن ها براي استفاده در دسترس
باشند.چون ميخواهيم از برنامه Inno setup براي اينكار استفاده كنيم، لذا اول بايستي برنامه Inno setup
در كامپيوترمان نصب باشد.
و بعد بافرض اينكه ميخواهيم اعمال لازم را در روت درايو E انجام دهيم ،بصورت زير عمل ميكنيم:
1. پوشه اي با نام xxx در روت درايو E درست ميكنيم (E:\xxx).
2. پوشه ديگري بنام Files درون E:\xxx درست كرده و چهار تا فايل گفته شده در بالا را درون آن قرار مي دهيم.
3. ميخواهيم كه فايل ست آپ نهائي ساخته شده داراي آيكني باشد كه ما ميخواهيم، لذا آيكن مورد نظرمان را تهيه كرده
و آن را با نام فرضا" mcs.ico درون پوشه E:\xxx قرار مي دهيم.
4. حال برنامه Notepad را اجرا كرده و كد هاي زير را داخل آن كپي نموده و سپس آن را با هر نامي ولي با پسوند
iss (مثلا" با نام My_Tools.iss) در داخل پوشه E:\xxx ذخيره مي كنيم:
کد:
[Setup]
AppName=My Tools
AppVersion=1
DefaultDirName={pf}\My Tools
DisableDirPage=yes
DefaultGroupName=My Tools
DisableProgramGroupPage=yes
OutputDir=E:\xxx
OutputBaseFilename=My Tools
SetupIconFile=E:\xxx\mcs.ico
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Files]
Source: "E:\xxx\Files\RegConvert.exe"; DestDir: "{app}";
Source: "E:\xxx\Files\RegConvert.ini"; DestDir: "{app}";
Source: "E:\xxx\Files\USB Port Locked.exe"; DestDir: "{app}";
Source: "E:\xxx\Files\USBFormatTool.exe"; DestDir: "{app}";
[Icons]
Name: "{group}\Reg Converter"; Filename: "{app}\RegConvert.exe"
Name: "{group}\USB Format Tool "; Filename: "{app}\USBFormatTool.exe"
Name: "{group}\USB Port Locked"; Filename: "{app}\USB Port Locked.exe"
Name: "{group}\{cm:UninstallProgram,My Tools}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\Reg Converter"; Filename: "{app}\RegConvert.exe";
5. روي فايل My_Tools.iss كليك راست كزده و سپس روي گزينه Compile كليك مي كنيم.
بعد از چند لحظه فايلي بنام My Tools.exe در داخل پوشه E:\xxx درست خواهد شد كه
اگر آن را اجرا كنيم خواسته ما را عمل خواهد كرد.
نمونه ساخته شده را ميتوانيد از لينك رير دانلود نمائيد.
My Tools.exe
و اما شرح كد هاي بالا:
=============
اسكريپتي كه ديديد، خلاصه ترين و ساده ترين نوع است كه با مطالعه برنامه Inno Setup مي توانيد آن را به نسبت نياز هايتان
تكميل تر نمائيد.
مشخصات فايل نصبي كه ساخته خواهد شد،در اول اسكزيپت بالا در زير قسمت [Setup] بشرح زير وارد مي شود:
AppName در جلوي اين عبارت بعد از علامت = نام برنامه نوشته ميشود. در اين مثال ما نام برنامه را My Tools گذاشته ايم.
در سطر بعدي (AppVersion) ورژن برنامه وارد مي شود.
در قسمت DefaultDirName بعد از عبارت {pf} نام پوشه اي وارد ميشود كه ميخواهيم در داخل پوشه Program Files ساخته
شده و فايل هاي ما داخل اين پوشه نصب خواهند شد.در اين مثال نام پوشه My Tools انتحاب شده است.
در سطر DefaultGroupName نام پوسه اي را وارد ميكنيم كه براي برنامه ما در داخل منوي استارت ساخته خواهد شد كه
بعد از نصب ،شورت كات هاي برنامه درون آن قرار خوهند داشت.
در سطر OutputDir آدرس محلي را وارد مي كنيم كه برنامه فايل نهائي ساخته شده را در آن جا خواهد گذاشت.
در سطر OutputBaseFilename نام فايل ساخته شده نهائي (بدون پسوند) نوشته مي شود.
در سطر SetupIconFile نام و آدرس آيكني تايپ ميشود كه ميخواهيم برنامه فايل نهائي را با اين آيكن بسازد.
در قسمت [Files] بايد بطريقي كه مشاهده ميكنيد، نام و آدرس تك تك فايل هاي مورد استفاده براي ست آپ وارد شود.
در قسمت [Icons] نام و محل شورت كات هاي مورد نظر وارد مي شود.
موفق باشيد
پاسخ : نمونه ساخت فايل نصب بر اساس Inno setup
با سلام
استاد اگه بخواهیم تعدادی فایل رجیستری به این فایل اضافه کنیم باید تک تک اونا رو وارد کنیم اگه اونا رو بخواهیم وارد کنیم چطوری؟؟؟
ایا میشود تمام فایل رجیستری رو یکباره وارد کنیم ونه خط به خط؟؟؟
پاسخ : نمونه ساخت فايل نصب بر اساس Inno setup
اگر بخواهيد فايل نصبي كه با برنامه Inno setup درست مي كنيد ، در حين نصب يك يا چند تغيير را در رجستري
ويندوز اعمال نمايد، بايد اول در داخل كد هاي مربوطه ، قسمتي بنام Registry درست كرده و سپس در زير آن
مطابق مثال زير اطلاعات لازم را وارد نمائيد.
توجه داشته باشيد كه مثال زير و همچنين مطالب از راهنماي خود برنامه Inno setup انتخاب شده است:
کد:
[Registry]
Root: HKCU; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\My Company\My Program\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"
همانگونه كه مشاهده مي كنيد ، همه سطور با عبارت Root شروع شده و سپس نام كلي شاخه رجستري
مشخص گرديده و بعد ديگر مشخصه ها نوشته شده اند.
نام شاخه رجستري ميتواند يكي از نام هاي زير باشد:
کد:
HKCR (HKEY_CLASSES_ROOT)
HKCU (HKEY_CURRENT_USER)
HKLM (HKEY_LOCAL_MACHINE)
HKU (HKEY_USERS)
HKCC (HKEY_CURRENT_CONFIG)
پيشنهاد ميكنم كه راهنماي حود برنامه را (فايل ISetup.chm در دايركتوري نصب برنامه Inno setup)، مطالعه
فرمائيد.
اگر منظورتان از طرح اين سوال مطلب ديگري بوده، لطفا" موضوع را با شرح بيشتري مشخص فزمائيد.
پاسخ : نمونه ساخت فايل نصب بر اساس Inno setup
استاد من یه فایل رجیستری دارم که تقریبا زیاد هست منظورم حجمش هست
ونمیشه تک به تک کلیدها ومقدار ها رو وارد کرد ایا راهی وجود داره که بشه دستوری نوشت که کل فایل رجیستری رو اضافه کنه
منظور من از این سوال وسوال بالایی اینه
من یه نرم افزار رو مونیتور کردم وفایلها وفولدرهاشو دراوردم
حالا تونستم توسط اموزشهای شما این نرم افزار رو دوباره با Inno setup پک کنم ولی به مشکلی برخوردم تعداد تغییراتی که توی رجیستری اعمال میشه زیاد ونمیشه تک تک اونا رو وارد کرد من همشونو بصورت یه فایل رجیستری دراوردم حالا میخوام اگه بشه این فایل با یه خط به قسمت رجیستری اضافه کنم ایا امکان چنین چیزی هست خودم گشتم ولی چیزی پیدا نکردم که بشه؟؟؟؟
پاسخ : نمونه ساخت فايل نصب بر اساس Inno setup
سهند عزيز، راحت ترين روشي كه مجبور نشوي تك تك سطر هاي فايل رجستري را با دست وارد كني اين
است كه بطريق زير عمل كني.
فرض ميكنيم كه شما يك اسكريپت Inno detup بنام مثلا" xxx.iss داري و ميخواهي تمام محتواي يك فايل
رجستري بنام فرضا" aaa.reg را به آن اضافه كني
1. برنامه اي بنام Inno script studio وجود دارد كه براحتي ميتواني از سايت هاي ايراني هم دانلود كني.اين
برنامه را دانلود و نصب كن.
2. حالا برنامه Inno script studio را اجرا كرده و توسط آن فايل اسكريپت xxx.iss را باز كن.
3. اكنون يك پنجره شبيه شكل زير خواهي ديد كه در سمت چپ آن عناوين مختلفي وجود دارند. در بين اين
عناوين روي عنوان Registry كليك كن. اكنون توسط ماوس فايل رجستري aaa.reg را كشانده و در محل خالي
سمت راست صفحه بينداز. در عرض چند لحظه تمام فايل رجستري درون كد نوشته خواهد شد، اكنون Save
كرده و برنامه Inno script studio را ببند.
http://www.worldup.ir/images/47u5zusyosr0z7am00wc.png
اكنون اگر فايل اسكريپت را باز كني خواهي ديد كه تمام محتواي فايل رجستري به كد ها اضافه شده است.
امتحان كن و نتيجه را خبر بده كه ببينيم مشكل حل شد يا نه.
پاسخ : نمونه ساخت فايل نصب بر اساس Inno setup
استاد اگه ممکنه کمی در مورد این برنامه توضیح میدید کمی گیج شدم اگه فقط در مورد ویزارد برنامه توضیح بدید ممنون میشم که چطوری فولدرها وفایلها رو اضافه کنم البته کمی باهاش کار کردم ولی توبعضی صقسمتها مشکل داشتم
اگه توضیحاتتون اینطوری باشه ممنون میشم
-1تعدادی فولدر وفایل در درایو ویندوز در داخل پوشه ای به نام new folder داریم
2-یه فایل رجیستری داریم
3-میخواهیم بعد نصب این نرم افزار پوشه بانام خودش در استارت منو ایجاد ودوتا گزینه یکی فایل اجرایی ودومی فایل انیستال داشته باشه
البته خودم درست کردم ولی متاسفانه موقع نصب توی جای خودش در پروگرام فولدر نصب نشد
پاسخ : نمونه ساخت فايل نصب بر اساس Inno setup
سهند عزيز، در سطور زير مثالي از چگونگي اسفاده از برنامه Inno Script Studio را بطور مختصر ملاحظه
خواهيد كرد.
فرض ميكنيم كه برنامه اي بنام xxx v1.0 داريم و ميخواهيم با استفاده از برنامه Inno Script Studio يك فايل
نصب درست كنيم كه با اجراي آن برنامه ما نصب شده و شورت كات هاي لازم ايجاد شود.
مرحله (1): آماده سازي نياز هاي اوليه
=====================
1. در روت يكي از درايو ها پوشه اي بنام فرضا" 00 درست كنيد (مثلا" F:\00).
2. مي خواهيم فايل نصبي كه در انتها درست خواهد شد داراي آيكني باشد كه ما مي خواهيم.لذا در اين
مرحله آيكن مورد علاقه خود را تهيه و آن را درون پوشه بالا قرار مي دهيم (مثلا" F:\00\mcs.ico).
3. گفتيم كه برنامه اي بنام xxx v1.0 داريم، مسلما" اين برنامه داراي فايل هاي محتلفي هست. در اين
مرحله پوشه اي بنام Files در پوشه F:\00 درست كرده و تمام محتواي برنامه خود را داخل اين پوشه كپي
مي كنيم (F:\00\Files).
حالا كه مقدمات كار فراهم شد مي رويم كه فايل نصبي مورد نظر را بسازيم.
مرحله (2): ساخت فايل نصب
================
برنامه Inno Script Studio را اجرا كرده و در صفحات Wizard آن بصورت زير عمل كنيد:
_ در صفحه اول پنجره اي مثل شكل زير خواهيد ديد.در قسمت بالاي صفحه مطابق شكل نام برنامه را كه در
اين مثال xxx است را نوشته و در سطر بعدي هم ورژن برنامه (در اين مثال 1.0 ) وارد كرده و سپس روي دگمه
Next كليك كنيد:
http://www.worldup.ir/images/rjo4zcekqffjmtqni3u.png
_ در پنجره بعدي اطلاعات را مطابق شكل زير وارد نمائيد:
http://www.worldup.ir/images/nr0vmy3mwb8zzwbqpqo0.png
همانطور كه مي بينيد در سطر اول عبارت Program Files folder انتخاب شده است. اين انتخاب بدين معني
است كه ما مي خواهيم برنامه ما داخل پوشه Program Files نصب شود.
اگر بخواهيم برنامه ما بجاي پوشه Program Files در محل ديگري نصب شود بايستي در اين جا بجاي گزينه
Program Files folder گزينه (Custom) را انتخاب كنيم و بعد محل مورد نظر را به برنامه بشناسانيم.
در تصوير بالا در سطر بعدي عبارت xxx نوشته شده. اين بدان معني است كه ما به برنامه ميگوئيم كه درون
پوشه Program Files پوشه اي بنام xxx درست كرده و فايل هاي برنامه ما را درون آن قرار دهد.
اكنون روي دگمه Next كليك كنيد.
_در پنجرخ بعدي بصورت شكل زير عمل مي كنيم:
http://www.worldup.ir/images/ynfx23whl910llq5y201.png
همانطور كه در شكل بالا مشاهده مي كنيد، من در قسمت بالاي پنجره عبارت F:\00\Files\xxx.exe را انتخاب
كرده ام. در اين مكان بايستي با كليك روي دگمه Browse به محلي برويم كه فايل اصلي برنامه ما قرار دارد و
آن فايل زا انتخاب كنيم.
در اين مثال تمام فايل هاي برنامه ما درون پوشه F:\00\Files قرار دارند و چون نام اجرائي فايل ما درون اين
پوشه xxx.exe نام دارد لذا آن را انتخاب كرده ايم.
در قسمت پائين پنجره بالا بايد محل همه فابل هاي برنامه را به برنامه Inno Script Studio مشخص كنيم.
براي اين كار من روي دگمه Add folder كليك كرده و چون تمام فايل هاي ما درون پوشه F:\00\Files فرار
دارند لذا اين پوشه را انتخاب كردم.
توجه داشته باشيد كه بعد از انتخاب پوشه مورد نظر برنامه خواهد پزسيد كه آيا فايل هاي موجود در پوشه
هاي داخل اين پوشه را هم اضافه كنم يا نه كه بايد بگوئيم بلي.
اكنون روي دگمه Next كليك كنيد.
_ د صفحه بعد مطابق شكل زير اقدام كنيد:
http://www.worldup.ir/images/e3q436txjbyrjvuv2z.png
مطابق شكل بالا در قسمت بالاي پنجره عبارت xxx نوشته شده. اين بدان معني است كه به برنامه ميگويئم
كه در منوي استارت پوشه اي بنام xxx درست كرده و شورت كات هاي برنامه را درون آن قرار دهد.
_ صفحات بعدي زياد مهم نيستند همه را ميتوانيد هرگونه كه هستند بگذاريد
مي توانيد در پنجره مربوط به نام فايل نهائي و محل ذخيره آن (به نمونه زير توجه كنيد) مشخصات مورد نياز از
جمله آيكن برنامه و نام و محل ذخيره فايل نهائي را انتخاب كنيد.
http://www.worldup.ir/images/41pfjtddcn4u6g8yoqv1.png
و در انتها روي دگمه Finish كليك كنيد و قبول كنيد كه كامپايل كند برنامه شروع بكار كرده و در انتها شما در
محل تعيين شده يك فايل كد ( در اين مثال بنام (xxx.nsi و نيز فايل نهائي را داخل خواهيد داشت.
بعد از مرور مطالب نمونه اي را امتحان نموده و در صورت نياز به شرح بيشتر اعلام نمائيد.
پاسخ : نمونه ساخت فايل نصب بر اساس Inno setup
خیلی ممنون که توضیح دادید استاد
من دوجا مشکل داشتم
1- فرق اون دوتا چیه من داخل اون پوشه برنامه چندین فایل و چندین فولدر هم دارم چرا از add folder استفاده کردیم
وگزینه دوم اونجا برای چیه
http://up.worldup.ir/do.php?imgf=Screenshot-1_d3459.jpg
2 -این گزینه برای چی هستند
http://up.worldup.ir/do.php?imgf=Screenshot-2_363e4.jpg
پاسخ : نمونه ساخت فايل نصب بر اساس Inno setup
جواب سوال 1 :
=========
در پنجره نشان داده شده ، اگر برنامه ما دارای تعدادی فایل و پوشه های مختلف باشد زوی دگمه Add Folder
کلیک کرده و محل پوشه حاوی فایل ها و پوشه ها را مشخص می کنیم. ولی اگر برنامه فقط دارای یک یا چند
فایل باشد می توانیم روی دگمه Add File کلیک کرده و فایل ها را مشخص نمائیم.
البته اگر برنامه بغیر از پوشه Program files در جا یا جا های دیگر هم فایل هائی داشته باشد در اینصورت پس
از انجام اعمال بالا باید روی دگمه Add File کلیک کرده و آن ها را هم مشخص می نمائیم.
یعنی ممکن است لازم باشد برای مشخص کردن همه محتویات برنامه ، مجبور باشیم چند بار از دگمه های
Add File و Add Folder استفاده کنیم.
گزینه ای را که نشان داده و پرسیدید برای چه هست، تقزیبا" هیچوقت لازم نخواهد شد مگر اینکه برنامه ما
دارای یک فایل اجرائی نباشد.
جواب سوال 2
========
محل هائیکه نشان داده اید مشخصه های مختلف برنامه را نشان می دهند. برای درک بهتر این گزینه ها بهتز
است یک کد کامل را با این برنامه باز کرده (نه آنی که خودمان دزست می کنیم) و بعد محل های فوق را نگاه
کنی
در کل افرادی مثل بنده و شما اکثرا" فقط مواردی را لازم داریم که در پست قبلی شرح دادم.
موفق باشید.