توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ساخت برنامه های پرتابل (Portable ) روش (3)
Magsoud
03-01-2012, 07:10 PM
سلام
ضروری میدانم که یک نکته را قبل از شروع این مبحث به اطلاع همه برسانم:
آنچه بنده میدانم و در مبحث های مختلف عرض میکنم مطالبی نیستند که از شکم مادر به من منتقل شده باشد، بنده
هم سال ها مطالعه و آزمایش کرده ام و بیشتر آن چیز هایی را که آموخته ام را فقط و فقط مدیون افرادی هستم که
دانسته های خود را در اینترنت به اشتراک گذاشته اند.
شاید بعضی از شما عزیزان بگفته حقیر خرده بگیرند و بگویند این همه کتاب در بازار هست و هرکه مطالعه کند یاد میگیرد
ولی بگذارید داستان مستند کوتاهی را برایتان تعریف کنم، شاید خیلی از شما ها بازیکنان این داستان بوده باشید:
چند سال پیش میخواستم مطلبی در مورد کامپیوتر را یاد بگیرم ،با هر سختی ای که بود از گلوی زن و بچه بریدم و چند
هزار تومان داده و کتاب ترجمه شده مربوطه را خریدم.و با خوشحالی به خانه برگشته و بدون توجه به غر غر های عیال
مربوطه که میگفت (گوشت نداریم ، برنج نداریم ووو بعد تو میری کتاب میخری؟؟) پشت کامپیوتر نشستم و شروع به
یادگیری کردم. متاسفانه در همان فصل اول گیر کردم و نتوانستم جواب بگیرم. عیال محترم هم که متوجه این موضوع شد
دیگر ول کن نبود که نبود.
میدانید مشکل چه بود و چگونه حل شد؟
بعد از چند روز کار بی نتیجه ،به اینترنت مراجعه و کتاب زبان اصلی را مجانی دانلود کرده و بعد که نگاه کردم متوجه شدم
که مترجم گرامی چند صفحه را خواسته یا ناخواسته پریده یعنی مترجم محترم دو صفحه را فراموش کرده بود ترجمه کند
و لذا من کد هایی را که باید میدادم نداشتم که بدهم..
بنا بر این استفاده از کتاب هایی هم که موجودند ولی توسط متخصص متعهد ترجمه نشده اند،چیزی حل نمیشود.
خیلی متاسفم که باید بگویم این ویژگی به اشتراک گذاشتن دانسته ها در آنطرف دنیا ،که در بین غیر مسلمانان رایج
است، کمتر در بین ما مسلمانان دیده میشود و ما بیشترمان دانسته هایمان را یا مخفی میکنیم و یا در مقابل پول زیاد
در اختیار میگذاریم.
در حالیکه نشر علم (به اشتراک گذاشتن دانسته ها)، باعث بالا رفتن علم جامعه و در نهایت باعث پیشرفت جوامع
میگردد. شاید همین نکته یکی از عواملی باشد که جوامع جهان سوم از لحاظ تکنولوژی و پیشرفت علمی عقب مانده اند.
======================
در دو آموزش قبلی تا حدودی با چگونگی ساخت برنامه های پرتابل آشنا شدیم.الان دیگر میتوانیم خیلی از برنامه
های خود را به پرتابل تبدیل کنیم.ولی هنوز با بعضی از برنامه ها مشکل خواهیم داشت بویژه برنامه هاییکه نیاز به
سریال و غیره برای رجستر شدن یا اکتیو شدن دارند.
برای اینکه بتوانیم برنامه های پرتابلی بسازیم که در هر شرایط کارا باشند، لازم است که نکاتی را یاد گرفته و در ضمن
با طرز کار تعدادی از برنامه های ویژه آشنا شویم.
با توجه به اینکه بطور دقیق نمیشود گفت چه نکاتی باید یاد گرفته شود و چه برنامه هایی را باید داشته باشیم، ، بنده
تصمیم گرفتم که یک مثال عملی را قدم به قدم توضیح دهم و در این مسیر ، براساس نیاز هاییکه پیش می آید ، به
معرفی برنامه های مورد نیاز بپردازم.
میدانم مقدمه ام طولانی و خسته کننده شده ولی ذکر چند نکته را هم ضروری میدانم که:
__ دو آموزش قبلی ، عمومی بوده و همه نوع کاربری میتواند استفاده نماید ولی آموزش امروز (و شاید روز های دیگر)
برای کاربران پیشرفته در نظر گرفته شده و انجام آن توسط کاربران عادی ممکن است باعث خرابی سیستمشان شود.
__ نمیدانم چه زمانی ولی احتمالا" حدود سه سال پیش آموزشی در مورد ساخت برنامه های پرتابل از اینترنت دانلود
کردم (با نام How to make portable with NSIS.pdf) که واقعا" جالب و در نوع خود کافی بود. وبنده از این آموزش نکات
زیادی یاد گرفتم که در آموزش امروز از قسمت هایی از آن هم استفاده خواهیم کرد.افسوس که هرگز نام و آدرسی از
نویسنده پیدا نکردم که از ایشان قدردانی کنم. توضیح اینکه ایشان بهمراه آموزش کلیه برنامه های مورد نیاز را هم آپلود
کرده بود که اگر اشتباه نکنم حجم کلی محصول حدود 40 مگا بایت بود.
__ و در انتها شکی نیست که این آموزش برای عده ای بسیار خسته کننده و در مقابل برای عده ای دیگر بسیار لذتبخش
خواهد بود.
======================
خود بنده بیشتر علاقمند به ساخت برنامه های بوتیبل توسط برنامه WinRAR بوده ولی فکر میکنم ساخت برنامه های پرتابل
قابل استفاده با NSIS بهتر و کاملتر است .
در این آموزش روش درست کردن نوع NSIS را توضیح داده و اگر فرصت دیگری قسمت شد در مورد استفاده از WinRAR هم
بحث خواهیم داشت.
تا روزی دیگر و ادامه بحث
borhan_3010
03-01-2012, 08:55 PM
سلام
مرسی از سیل آموزش هایی که به راه انداختین :^:
نمونه این آموزش ها رو تو هیچ سایت فارسی نمیشه دید!
من با این سری پرتابل کردن یه مقدار کار کردم و تا حدودی هم جواب گرفتم ولی تا این حد که با توتال رجیسستری کرک رو بیرون بکشم و وارد نرم افزار NSIS کنم یعنی برنامه هایی که با سریال معمولاً کرک میشن. ولی بعضی از برنامه ها برای اجرای صحیح نیاز دارن بعضی از فایل ها رو توی پوشه هایی خاص مثل system32 کپی کنن و از اونا استفاده کنن که من نتونستم با این روش اونارو پرتابل کنم.
البته من منتظر کامل شدن آموزش می مونم ...
بازم ممنونم از آموزش هاتون :Şflower658Ş:
درود
با تشکر از استاد عزیز!!
نمی دانم اموزش مربوطه تا همین قدر هست و یا من نمی توانم ادامه اموزش را ببینم ( چند روزیی ست با اکثر سایت ها مشکل پیدا کرده ام) به هرحال خواستم قدردانی ای کرده باشم!
در مورد Winrar به نظر من می تواند بهترین گزینه باشد. البته NSIS هم مورد بسیار خوبی ست ولی اگر به من محبث بپردازید بهتر است!!
البته ترجمه این مورد هم خیلی عالی ست!!:دی
Make portable using NSIS (http://reboot.pro/7460/)
PDF مورد نظر را به نظرم پیدا کردم باشم. البته حجم این فایل RAR ، ا28 مگابایت هست.هنوز خودم دانلود نکردم و فقط اپلود کردم!!
How To Make Portable Software (http://www.rodfile.com/g2fw4hbp1q6s/How.To.Make.Portable.Software.rar.html)
ممنون
.... ولی بعضی از برنامه ها برای اجرای صحیح نیاز دارن بعضی از فایل ها رو توی پوشه هایی خاص مثل system32 کپی کنن و از اونا استفاده کنن که من نتونستم با این روش اونارو پرتابل کنم.
برهان جان!!
من زیاد با این اسکریپت کار نکردم ولی به نظرم باید با یک اسکریپت VBا (VBS) در اسکریپت NSIS بتوانی هم فایل های مربوطه را در ویندوز کپی کنی و هم در همان اسکرپیت ذکر کنی که فایل مورد نظرت اجرا شود!:yeah:
Magsoud
03-02-2012, 09:25 PM
سلام
دوستان،هر نرم افزاری که در کامپیوترمان نصب میکنیم ، تغییراتی در سیستم ما ایجاد میکند.ولی نوع تغییرات بسته
به نوع نرم افزار فرق میکند و دانستن این تغییرات برای ساختن برنامه های پرتابل، بالاترین اهمیت را دارد.
یک سری از نرم افزار ها تنها تغییراتی که ایجاد میکنند این است که پوشه یا پوشه هایی در سیستم درست کرده
و فایل های مورد نیازشان را در آن پوشه ها قرار میدهند. و دیگر هیچ تغییر مهمی در رجستری و جا های دیگر انجام
نمیدهند.
اینگونه نرم افزار ها را که معمولا" نرم افزار های رایگان هستند، به راحتی میتوان پرتابل کرد.
در مقابل برنامه هایی هستند که نه تنها پوشه هایی در قسمت های مختلف سیستم درست کرده و فایل های خود
را در آن جا میگذارند، بلکه تنظیمات متفاوتی هم به رجستری سیستم اضافه میکنند که این تنظیمات لازمه کار آن ها
میباشد.
مطلب در اینجا تمام نمیشود چون بعضی از نرم افزار ها نه تنها اعمال بالا را انجام میدهند بلکه تغییر یا تغییرات دیگری
از قبیل تغییرات زیر در سیستم بوجود می آورند:
__ بعضی از فایل های سیستم را دیلیت کرده و فایل های خود را بجای آن ها قرار میدهند.
__ بعضی از تنظیمات رجستری را دیلیت میکنند.
__ بعضی تنظیمات رجستری را عوض مینمایند.
__ و غیره
و باز برنامه هایی هستند که برای اجرای کامل آن ها نیاز داریم که آن ها را توسط دادن serial number و یا هرگونه
کد دیگر اکتیو کنیم. این نوع برنامه ها ضمن انجام تغییرات بالا ، تغییرات مخصوص و مخفیانه در سیستم و رجستری
انجام میدهند.
پیدا کردن این مخفی کاری برای ساخت نوع پرتابل اینگونه برنامه ها ضروری بوده ولی پیدا کردن نوع مخفی کاری در
بیشتر مواقع بسیار سخت و زمانبر بوده و نیاز به آزمایش های زیادی دارد و گاها" هم نشدنی است.
در زیر اشارات کلی و مختصری در مورد بعضی انواع مخفی کاری ها را میبینیم:
__ بعضی از برنامه ها بعد از اکتیو شدن کد مربطه را (فرضا" serial number داده شده را ) عینا" در رجستری ثبت
میکنند. برای مثال برنامه ACDSee v3.1.1 سریال دریافتی را عینا" بصورت زیر در رجستری ثبت میکند:
[HKEY_LOCAL_MACHINE\SOFTWARE\ACD Systems\ACDSee]
"LicenseNumber"="403497896733230541"
__ بعضی از برنامه ها کد مربوطه را در قالب یک فایل داخل همان پوشه ای که نصب شده اند قرار میدهند.برای مثال
تعدادی از ورژن های برنامه WinRAR معمولا" کد های لازم را در پوشه نصب با نامی شبیه rarreg.key نگهمیدارند.
__ و بعضی دیگر معمولا" کد مربوطه را در یکی از محل های زیر نگهداری میکنند. توجه داشته باشید که بنده لیست
زیر را بر اساس ویندوز XP نوشته ام که کاربران ویندوز 7 باید در لیست زیر بجای Documents and Settings از USERS
استفاده نمایند:
...\Documents and Settings\YOURNAME\Documents\
...\Documents and Settings\All Users\Documents\
...\Documents and Settings\YOURNAME\Application Data\
...\Documents and Settings\All Users\Application Data\
...\Documents and Settings\YOURNAME\Local Settings\Application Data\
__ در بدترین شرایط برنامه کد مربوطه را در یکی از پوشه های Windows و یا System32 و یا جایی دیگر در قالب یک
فایل مخفی میکند. توضیح اینکه ممکن است یک فایل متنی را با نامی بخصوص ولی با پسوند DLL یا OCX و غیره و
معمولا" بصورت Hiden در پوشه System32 یا جای دیگر قرار دهد.که پیدا کردن این نوع فایل ها سخت و وقت گیر
است.
بعضی روش ها که برای پیدا کردن کد مورد بحث بکار میرود بشرح زیر است:
__ اول کارسیستم را طوری تنظیم کنید که فایل های مخفی و پسوند ها را نشان دهد.
__ تمام مسیر های گفته شده در بالا را گشته و تمام فایل ها با پسوند های ini ، txt ، key ، reg و امثال آن ها را
بررسی کنید.
__ در پوشه های Windows و یا system32 تمام فایل های با پسوند DLL و OCX را که حجم خیلی پایینی دارند
بررسی کنید.
تذکر: موقع گشتن و بررسی فایل ها بهتر است فایل ها را بر اساس تاریخ ایجاد sort کنید .و آخرین فایل های (معمولا")
حجم پایین و مخفی را بررسی کنید.
__ محل قرار دادن کد در رجستری معمولا" در شاخه های (HKCU) یا (HKLM) بوده ولی گاها" (HKCR) هم دیده میشود.
__ گاها" برنامه سریال گرفته شده را عینا" در رجستری نمیگذارد بلکه سریال را بصورت کد درآورده و کد مربوطه را در
رجستری میگذارد. برای مثال در مثالی که بعدا" با هم کار خواهیم کرد خواهیم دید که برنامه کد 50E3-C082-6137-AB7B
را از من گرفته ولی آن را بصورت cba489b6d293ced0d6abefacdef1dfae در رجستری ذخیره کرده است
توضیح اینکه بیشتر مطالب گفته شده امروز با مختصر تغییرات و اضافاتی از How to make portable with NSIS.pdf ترجمه
شده است.
در ضمن به دوست عزیزم نیما عرض کنم لینکی را که گذاشته اید (لینک آموزشی که بنده در یک سایت خارجی بزبان انگلیسی
نوشته ام ) را هم سعی میکنم در ادامه همین آموزش بگنجانم
تا روزی دیگر و فرصتی دیگر
borhan_3010
03-02-2012, 11:04 PM
سلام
نیما جان من فقط تا همین حد باهاش ور رفتم که بدونم چی به چیه و رجیستری رو وارد کنم به این صورت که رجیستری سریال رو با Total Uninstall در میاوردم و بعدش وارد می کردم طوری که وقتی اجرا میشد به رجیستری ویندوز اضافه کنه و وقتی از برنامه خارج میشدی به حالت اول برگردونه، که البته باید تایید فایروال رو بگیری دی:
جناب شیرین زبان به نظرتون برای فهمیدن تغییرات استفاده از برنامه های مانیتورینگ بهتر و دقیق تر نیست؟
Magsoud
03-03-2012, 12:22 AM
سلام
برهان عزیز در طول این مبحث تعداد زیادی برنامه های مختلف را معرفی و آپلود خواهم کرد تا دوستان راحت استفاده کنند
از نظر من هنوز بهترین و خوشدست ترین برنامه برای مانیتورینگ تغییرات سیستم برنامه Total Uninstall است. البته بنده
ورژن 4.11 این برنامه را پسندیده و نوع پرتابلش را بهترین دانسته و استفاده میکنم.
توجه داشته باش که این ورژن مثل ورژن های جدید نمیتواند برنامه های از قبل نصب شده را تشخیص دهد و فقط با برنامه
هایی کار میکند که توسط خودش نصب شده باشند.
توضیح دیگر اینکه این ورژن این برنامه ( و همچنین ورژن 5.20 برنامه IDM ) را بنده چند سال است استفاده میکنم و کرکشان
شناسایی نمیشود.
Magsoud
03-04-2012, 04:27 PM
سلام
تا الان به اندازه کافی حرف زدیم و حالا دیگر وقت آن است که قدم به قدم مراحل ساخت چند برنامه را دنبال کنیم.
با توجه به اینکه قرار شد با استفاده از برنامه NSIS نرم افزار های پرتابل مورد نیاز خود را درست کنیم لذا لازم میدانم
اول دور نمای کلی کاری را که میخواهیم با هم انجام بدهیم را مشخص کنم.
اگر دوستان گرامی با سایت portableapp.com آشنا بوده و از برنامه های پرتابل ساخت این سایت استفاده کرده
باشند ، خواهند دید که ما در اینجا دقیقا" همان روش را استفاده میکنیم.
میخواهیم یک Pack بسازیم که با جرای فایل اصلی آن یک منو نمایان شود، و دراین منو نام چند نرم افزار باشد، و با
کلیک کردن ما روی هر نرم افزار ، آن نرم افزار اجرا شود .
بنده در مثال اول ساده ترین مورد ها را بحث خواهم کرد تا کاربر با کلیات کار آشنا شود و بعد در صورت لزوم در مورد
انواع سخت تر و پیچیده بحث خواهیم نمود.
پرتابل کردن برنامه Sumatra PDF Viewer 1.9
--------------------------------------------------
بعضی از برنامه ها مثل همین برنامه به راحتی و در چند لحظه به نوع پرتابل تبدیل میشوند.برای امتحان میتوانید این
برنامه را از لینک زیر دانلود و امتحان فرمایید:
Sumatra PDF Viewer - Download.com (http://download.cnet.com/Sumatra-PDF-Viewer/3000-10743_4-10698785.html)
برای پرتابل کردن این برنامه لازم نیست که آن را نصب کنید کافی است که روی این برنامه کلیک راست کرده و توسط
برنامه WinRAR یا zip7 یا Universal Extractor و یا امثال آن ها محتویات این فایل را جایی Extract کنید.
با فرض این که فایل ها را در پوشه فرضا" C:\SumatraPDF ریخته باشید اگر درون این پوشه روی فایل SumatraPDF.exe
دابل کلیک کنید برنامه اجرا خواهد شد بدون آن که نصبش کرده باشید.
حال اگر پوشه C:\SumatraPDF را به هر کامپیوتری منتقل کنید و روی فایل SumatraPDF.exe دابل کلیک کنید برنامه
بدون نیاز به نصب اجرا خواهد شد. بنابر این تا اینجا ما اولین فایل پرتابل خود را ساختیم.
این ساده ترین روش پرتابل کردن بوده ولی بندرت برنامه ای را پیدا خواهید کرد که اینگونه پرتابل شود.
فعلا" پوشه فایل SumatraPDF.exe را به همین صورت رها میکنیم و میرویم که نوع دیگری از پرتابل سازی را انجام
دهیم ولی در زمان Pack کردن با این پوشه و محتویاتش کار خواهیم داشت.
پرتابل کردن برنامه UltraISO PE 9.5.0.2800
-------------------------------------------------
این برنامه با برنامه بالا مقدار زیادی تفاوت دارد و نمیشود آن را مثل برنامه قبلی با نرم افزار هایی مثل Universal Extractor
و غیره Extract کرد. و از طرف دیگر این نرم افزار مجانی نبوده و برای اجرای کاملش ضرورت دارد که در آن شماره سریال وارد
کنیم تا اکتیو شود.لذا پرتابل کردنش هم مختصری سخت تر است.
ما باید یک بار این برنامه را نصب کرده و مراحل نصب برنامه را به روشی زیر نظر بگیریم و بدانیم با نصب این برنامه چه تغییراتی
در فایل های سیستم و همچنین چه تغییراتی در رجستری سیستم ایجاد میشود.
مسلم است که خودمان نمیتوانیم این عمل را انجام دهیم و برای اینکار باید از برنامه و یا برنامه هایی استفاده کنیم.
برنامه مورد علاقه بنده برای اینکار برنامه Totall install است که از نظر من یک برنامه بی نظیر و خیلی خوشدست برای
اینکار میباشد.این برنامه میتواند کلیه تغییراتی را که در فایل های سیستم و رجستری سیستم در حین نصب یک برنامه
ایجاد میشود را ثبت کند و آن را در در قالب فایل متنی برایمان لیست کند.
برای پرتابل کردن این نرم افزار ضرورت دارد که قبلا" برنامه Totall install در سیستم نصب شده باشد.البته باید بگویم که
بنده حداقل با 10 نرم افزار که میتوانند کاری مشابه این برنامه را انجام بدهند ، آشنا هستم که اگر لازم شد در زمان
خودش آن ها را معرفی و لینک دانلودشان را خواهم گذاشت.
آخرین نکته قبل از شروع مراحل پرتابل کردن UltraISO PE 9.5.0.2800 این است که بنده گرچه مطالب را کم کم و بترتیبی
توضیح میدهم که هر گونه کاربری بتواند بهره ببرد ولی در کل عقیده دارم که اینگونه کار ها بایستی توسط کاربران وارد
انجام شود و فکر میکنم که کاربرانیکه این مبحث را دنبال میکنند با طرز کار برنامه هاییکه توضیح میدهم آشنا هستند.
لذا بنده در طول آموزش مراحل کار با برنامه Totall install را توضیح نداده و فقط نتایج کار را خواهم گفت.
اما شروع کار (با فرض اینکه برنامهTotall install در سیستم نصب شده) :
------------------------------------------------------------------------------
1. برنامه UltraISO PE 9.5.0.2800 را دانلود کنید.
2.برنامه Totall install را اجرا و توسط آن UltraISO را نصب کرده و در انتهای کار گزارش تغییرات فایلی و گزارش تغییرات
رجستری را از برنامه میگیریم.
حالا مختصرا" نتیجه را بررسی میکنیم.میبینیم که
__ قسمت اول گزارش فایلی عبارت است از:
(+)(FOLDER) C:\Documents and Settings\All Users\Start Menu\Programs\UltraISO
(+)(FILE) UltraISO Help.lnk
(+)(FILE) UltraISO Online Order.url
(+)(FILE) UltraISO Readme.lnk
(+)(FILE) UltraISO Revision History.lnk
(+)(FILE) UltraISO Web Site.url
(+)(FILE) UltraISO.lnk
(+)(FILE) Uninstall UltraISO.lnk
(+)(FOLDER) C:\Documents and Settings\SpEeDeR Sp3\Desktop
(+)(FILE) UltraISO.lnk
میبینیم در این قسمت فقط فایل های short cut اضافه شده به منوی استارت و دسکتاپ را لیست کرده. چون ما
با فایل پرتابل نیازی به داشتن short cut ها نداریم.لذا این قسمت را حذف میکنیم
__ قسمت بعدی را که نگاه کنیم میبینیم یک سری فایل در پوشه C:\Program Files\UltraISO اضافه شده اند.
مشخص است که این فایل ها فایل های اصلی برنامه UltraISO هستند که این ها را لازم داریم و بعدا" با پوشه
UltraISO کار خواهیم داشت.
دیگه در گزارش فایلی ،فایل های دیگری گفته نشده اند.لذا فایل متنی گزارش تغییرات فایلی را می بندیم.
__ حال گزارش تغییرات رجستری را با notepad باز کرده و بررسی میکنیم.
__ قسمت اول عبارتند از :
[HKEY_CLASSES_ROOT\.bin]
@="binimage"
[HKEY_CLASSES_ROOT\.iso]
@="UltraISO"
[HKEY_CLASSES_ROOT\.isz]
@="UltraISO"
[HKEY_CLASSES_ROOT\.ui]
@="UltraISO"
[HKEY_CLASSES_ROOT\binimage]
@="BIN File"
این ها همه مربوط به پسوند هایی میشود که UltraISO مجاز است باز کند. این دستورات زمانی لازمند که ما بخواهیم
فایل هایی با پسوند های بالا را با دابل کلیک باز کنیم.ما نیازی به اینها نداریم چون در برنامه UltraISO پرتابل ما هیچوقت
با دابل کلیک فایلی را باز نمیکنیم بلکه اول برنامه پرتابل را اجرا و بعد انتخاب و دستور میدهیم که کدام فایل را باز کند.
لذا به این بخش از تغییرات رجستری نیازی نداریم و آن ها را پاک میکنیم.
__ قسمت های باقیمانده گزارش رجستری را که بررسی کنیم میبینیم
_ تعدادی از سطور آیکن های مربوط به برنامه هستند که در برنامه پرتابل نیاز به این آیکن ها نداریم لذا این قسمت ها
دا خط میزنیم.
_ سطوری مربوط به آدرس قرار گرفتن فایل های برنامه است (C:\Program Files\UltraISO) است که با توجه به اینکه
بعدا" برنامه پرتابل ما در آدرس مذکور نخواهند بود لذا آن ها را هم حذف میکنیم.
_ باقیمانده سطور هم درباره دستوراتی هستند که برنامه باید در زمان هایی که ما مستقیم با فایل ها کار میکنیم
باید اجرا شوند که چون ما هیچوقت مستقیما" با فایل های کامپیوتر کار نکرده بلکه اول برنامه پرتابل را اجرا و توسط
منو های آن فایلی را انتخاب و دستوری خواهیم داد لذا این قسمت ها را هم لازم نداشته و حذف میکنیم.
پس تا اینجا در این مثال ویژه نیازی به تغییرات رجستری سیستم نداریم.فراموش نکنید که همیشه اینطور نیست.
تا اینجا ما فهمیدیم که برای ساخت UltraISO پرتابل فقط به فایل های داخل پوشه (C:\Program Files\UltraISO)
نیاز داریم ولی هنوز یک مرحله دیگر از کارمان با این برنامه مانده است.
اگر در این زمان بخواهیم این برنامه را اجرا کنیم، برنامه پیغامی نشان داده و سریال خواهد خواست و همانطور که در
بحث های قبلی توضیح دادم پس از اینکه ما سریال را وارد کردیم ،برنامه آن را جایی ذخیره خوهد کرد.
بنابراین ما ایندفعه تغییرات حاصل در سیستم را بعد از دادن سریال ، باید توسط برنامهTotall install زیر نظر بگیریم
بعد از اینکار باید دوباره تغییرات فایلی و تغییرات رجستری در سیستم را مطالعه کنیم تا شاید بتوانیم بفهمیم برنامه
سریال را کجا و چگونه ذخیره میکند.
توجه داشته باشید که نه تنها در این برنامه بلکه هر برنامه دیگر که ما با سریال آن را اکتیو میکنیم، بعد از آن هر وقت
ما بخواهیم آن برنامه را اجرا بکنیم ، برنامه اول به جاییکه سریال قرار دارد رفته و اگر سریال را ببیند درست و کامل کار
خواهد کرد.
لذا ما باید در این مثال جای نگهداری سریال را پیدا کرده و در نوع پرتابلی که میسازیم ، کاری کنیم که قبل از اجرای
برنامه ، سریال در محل مورد نظر قرار داشته باشد، تا برنامه کامل کار کند.
اینکار را میکنیم و در آخر گزارش کار را از برنامه برنامهTotall install گرفته و مطالعه میکنیم. که خلاصه کار برای این
مثال بشرح زیر است:
توضیح اینکه برای این برنامه بنده نام mcs و کد E3-C082-6137-AB7B50 را وارد کردم و برنامه اکتیو شد.
برنامهTotall install در گزارش میگوید که در حین دادن سریال هیچ تغییر فایلی در سیستم صورت نگرفته است.
پس حداقل تا اینجا مفهمیم که برنامه بعد از گرفتن سریال آن را بصورت فایل مخفی یا غیر مخفی نگهداری نمیکند
بنابر این آنرا در جایی از رجستری باید ذخیره کرده باشد.
به گزارش رجستری برنامهTotall install نگاه میکنیم ، اول دنبال عین سریال وارد شده در رجستری میگردیم ولی
پیدایش نمیکنیم.
ولی بیشتر که دقت بکنیم سطور زیر را مشاهده میکنیم:
[HKEY_CURRENT_USER\Software\EasyBoot Systems\UltraISO\5.0]
"Registration"="cba489b6d293ced0d6abefacdef1dfae"
"UserName"="mcs"
معلوم میشود که برنامه سریال را کد بندی کرده یعنی سریال E3-C082-6137-AB7B50 کد بندی کرده و بصورت
cba489b6d293ced0d6abefacdef1dfae در رجستری نگهمیدارد.
هنوز تمام نشده، اینها هنوز فقط چیزی است که ما فکر میکنیم. لذا باید امتحان کنیم و مطمئن شویم. برای این
کار به صورت زیر عمل می نماییم:
به رجستری سیستم وارد شده و سطور بالا را از رجستری سیستم حذف میکنیم. اگر حدس ما درست باشد
برنامه در حین اجرا چون کد را سرجایش نمی بیند باید دوباره سریال بخواهد.
حال برنامه را اجرا میکنیم . بله درست حدس زدیم برنامه که دفعه قبل اکتیو شده بود و درست عمل میکرد، الان
باز هم سریال میخواهد.
پس تا اینجا فهمیدیم که برای پرتابل کردن UltraISO یکی به فایل های داخل پوشه (C:\Program Files\UltraISO)
نیاز داریم و یکی هم به یک دستور رجستری که باید استفاده کنیم
یعنی ما اگر پوشه UltraISO را به کامپیوتر دیگری منتقل کنیم و در آن کامپیوتر یکبار فایل رجستری را اجرا کنیم،
بعد از آن برنامه بصورت کامل بدون نصب کار خواهد کرد.
فعلا" این مثال را هم موقتا" بحال خود گذاشته و سراغ پرتابل کردن آخرین برنامه این بخش می رویم.
تا روزی دیگر و فرصتی دیگر
Magsoud
03-04-2012, 10:53 PM
سلام
یک توضیح قبل از ادامه بحث:
--------------------------------
تصمیم داشتم در حین این مبحث ،تمام برنامه های نام برده شده و نیز تمام مثال های انجام شده در این بحث را آپلود
نمایم تا کاربران بهتر بهره ببرند.ولی متاسفانه ، حداقل فعلا" نمیتوانم اینکار را بکنم. چون بنده آپلود هایم را در سایت
مدیافایر قرار میدادم که کار باهاش راحت تر است .ولی همانگونه که بعضی از شما ها اطلاع دارید تعدادی از سایت ها
از حدود یک روز مانده به انتخابات تا الان از دسترس خارج شده اند.
لذا سعی میکنم در فرصت های بعدی نیازمندی ها را جایی که کارکردن با آن برایم راحت باشد آپلود نموده و لینک های
مربوطه را در اختیار عزیزان قرار دهم.
پرتابل کردن برنامه WinRAR 4.10 Beta 2
--------------------------------------------
1.برنامه WinRAR 4.10 Beta 2 را بطور عادی نصب بفرمایید.واضح است که برنامه در آدرس زیر نصب خواهد شد:
C:\Program Files\WinRAR
2. این نکته را عرض کنم که هر زمان ما کد لازم را به برنامه WinRAR داده و آن را اکتیو کنیم ، این برنامه کد مورد نظر را
در فایلی بنام rarreg.key در داخل پوشه نصب (C:\Program Files\WinRAR) نگهداری میکند. بنابراین کافی است که در
این مثال به شرح زیر عمل کنید تا WinRAR اکتیو شود:
برنامه notepad را باز کرده و کد زیر را تایپ نموده و سپس آن را با نام rarreg.key در داخل پوشه (C:\Program Files\WinRAR)
ذخیره نمایید.
RAR registration data
Shirin zaban
Single PC usage license
UID=236ace19aa762d246d31
64122122506d31e00c45a0d9322e1c1b966480925d78f6c694 45ed
6c1886a710fd694667186035c6ab9048e2c5c62f0238f183d2 8519
aa87488bf38f5b634cf28190bdf438ac593b1857cdb55a7fcb 0eb0
c3e4c2736090b3dfa45384e08e9de05c58602fbe1a6966d638 c8c6
3a61a41294a51f965891a9c0917e7011550d6f99c60ca71fda ef6e
5fa8e42eb271d793ddd45aa91a09174edcd32543ed1d9f7a60 c07f
62c59b8bac51a232de34abe67ebe5b179df1666ef847000806 2499
حال اگر را اجرا کنید و بررسی کنید خواهید دید که برنامه به نام shirin zaban اکتیو شده است.
تذکر 1_ در متن بالا چیزی را تغییر ندهید و گرنه کار نخواهد کرد
تذکر 2_ این کد در ورژن گفته شده کار میکند و من فکر میکنم در تمام ورژن های 4 کار کند.
حال اگر شما پوشه WinRAR را از سیستم کپی کرده و به هر کامپیوتری منتقل کنید برنامه با اجرای فایل WinRAR.exe
موجود در داخل پوشه WinRAR بدون نیاز به نصب اجرا خواهد شد و اکتیو هم خواهد بود.
در اینجا بخش اول این مبحث تمام میشود . ما حالا سه تا برنامه داریم که پرتابل کار میکنند و بخش بعدی مبحث اینها
را توسط برنامه NSIS به یک Pack تبدیل خواهیم کرد.
تا فرصتی دیگر و ادامه بحث
Magsoud
03-05-2012, 10:33 PM
سلام
یک توضیح:
-----------
چند سال پیش (روز هشتم از ماه آگوست 2008) ،بنده آموزشی را در مورد اینکه چگونه باید برنامه های پرتابل بسازیم
در لینک زیر قرار دادم .مسئول پرتقالی سایت که برنامه نویس دلفی هم هست ، از این روش خوشش آمده و در پیامی
به بنده گفت که برای این آموزش یک بخش مجزا در فروم مربوطه درست کرده و انتظار دارد که بنده مطالب بیشتر و
متنوع تری در مورد ساخت برنامه های پرتابل بنویسم که همینطور هم شد و این بخش فروم هم مشتری های خودش
را پیدا کرد.
[PortableApps] How to Make Portable programs - reboot.pro (http://reboot.pro/5398/)
در همان زمان اعضای فروم مذکور پیام های زیادی داده و از حقیر خواستند که روش پرتابل کردن برنامه ها را به روش
PortableApps.com توضیح دهم.لذا در آن زمان روش سایت مذکور را مطالعه و یاد گرفتم و در موردش مطالبی نوشتم.
منظور از داستان سرایی بالا (و شاید به عقیده بعضی ها تعریف از خود کردن) ، این بود که بگویم روشی که در سطور
زیر در موردش صحبت خواهم کرد همان روشی است که همان موقع یاد گرفتم. و ممکن است که درحال حاضر در سایت
مورد بحث روش یا روش های دیگری هم بکار رفته باشد که بنده دنبالش نرفته ام که بفهمم و در حال حاضر هم سایت
مذکور ما را تحریم کرده است و دسترسی به سورس فایل هایش مقداری سخت است.لذا در این بحث بنده به همان
روش سال 2008 بسنده خواهم کرد.
----------------------------------------
دوستان ، دراین روشی که توضیح خواهم داد ، برای هر برنامه پرتابل باید پوشه های زیر را بسازیم
__ پوشه ای با نام برنامه پرتابل درست کنید.
__ داخل پوشه بالا سه تا پوشه دیگر با نام های Appdata و portable و Source درست کنید.
در این مثال ما سه برنامه را پرتابل کردیم لذا اکنون پوشه های زیر را میسازیم:
1. برای برنامه Sumatra PDF Viewer ، پوشه ای بنام SumatraPDF ساخته و در داخل آن سه تا پوشه دیگر با نام های
Appdata و portable و Source درست کنید.
2. برای برنامه UltraISO PE 9.5.0.2800، پوشه ای بنام UltraISO ساخته و در داخل آن سه تا پوشه دیگر با نام های
Appdata و portable و Source درست کنید.
3. برای برنامه WinRAR 4.10 Beta 2 ، پوشه ای بنام WinRAR ساخته و در داخل آن سه تا پوشه دیگر با نام های
Appdata و portable و Source درست کنید.
توضیحات در مورد پوشه های ساخته شده
---------------------------------------------
__ در پوشه Appdata باید فایل های لازم برای اجرای برنامه را بگذاریم.
__ در پوشه portable باید فایل های رجستری لازم برای اجرای برنامه را بگذاریم.
__ در پوشه Source باید فایل کد برنامه NSIS و یک آیکن برای برنامه بگذاریم.که برنامه NSIS از این کد و آیکن برای
ساخت فایل اجرایی هر برنامه پرتابل استفاده خواهد کرد.
حال بیاییم و اولین برنامه را یعنی Sumatra PDF Viewer را کامل کنیم. در سطور بالا پوشه ای با نام SumatraPDF
ساختیم که حاوی سه پوشه خالی با نام های گفته شده بود.در زمان ساخت نوع پرتابل این برنامه ، در انتها گفتم
که فایل های لازم را در پوشه C:\SumatraPDF نگهدارید.حال کلیه محتویات پوشه C:\SumatraPDF را به داخل پوشه
تازه ساخته شده SumatraPDF\Appdata... منتقل کنید.
قبلا" گفتم که در داخل پوشه portable باید فایل های رجستری لازم برای اجرای برنامه را بگذاریم و در پستهای قبلی
دیدیم که برای اجرای برنامه Sumatra PDF Viewer نیاز به هیچ تغییرات رجستری نداریم، لذا پوشه SumatraPDF\portable
را میگذاریم خالی بماند.
حال باید فایل کد NSIS ونیز آیکن لازم برای برنامه را در داخل پوشه SumatraPDF\Source قرار دهیم.
هر آیکنی که دوست دارید برنامه پرتابل Sumatra PDF Viewer در منوی انتهایی به آن شکل نشان داده شود را ساخته و
یا تهیه کرده و آن را دقیقا" با نام SumatraPDF.ico در پوشه SumatraPDF\Source قرار دهید.
در این مرحله فقط کد NSIS باقی مانده که در اینجا من راه درست کردن یک کد عمومی را توضیح میدهم که خیلی ساده
است.
notepad را باز کرده کد های زیر را عینا" در آن وارد کرده و سپس آن را با نام general.nsi جایی ذخیره نمایید:
!define SNAME "XXX"
!include "Registry.nsh"
CRCCheck off
AutoCloseWindow True
SilentInstall silent
WindowIcon off
XPSTYLE on
Name "${SNAME}"
Icon "${SNAME}.ico"
Caption "${SNAME} Launcher"
OutFile "..\${SNAME}.exe"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
Section "Main"
;Needed settings to apply to registry
${registry::RestoreKey} "$EXEDIR\portable\AAA.reg" $R0
Sleep 300
;File to run after applying registry settings
ExecWait "$EXEDIR\Appdata\Application.exe"
;Cleaning up when we close the application
${registry::RestoreKey} "$EXEDIR\portable\RegClean.reg" $R0
SectionEnd
این یک فایل بسیار ساده برای ساختن بار کننده برنامه های پرتابل معمولی توسط برنامه NSIS است.
ما دقیقا" از همین فایل در هر سه برنامه پرتابلی که ساخته ایم استفاده خواهیم کرد، با این تفاوت که برای هر برنامه
نام و بعضی مشخصات داخل این فایل را عوض خواهیم کرد.
فعلا" نسخه ای از این فایل را به محل های زیر کپی کنید:
__ داخل پوشه SumatraPDF\Source
__ داخل پوشه UltraISO\Source
__ داخل پوشه WinRAR\Source
حال میتوانیم آخرین کار را برای برنامه پرتابل SumatraPDF بشرح زیر انجام دهیم:
1__ وارد پوشه SumatraPDF\Source شده و نام فایل general.nsi را به SumatraPDF.nsi تغییر دهید.
2__ حال فایل SumatraPDF.nsi را با notepad باز کرده و تغییرات زیر را انجام دهید:
_____ عبارت !define SNAME "XXX" را به !define SNAME "SumatraPDF" تغییر دهید.(مشخص کردن نام فایل پرتابل).
_____ در عبارت EXEDIR\Appdata\Application.exe نام Application.exe را با نام فایل اجرایی برنامه عوض نمایید که
در این مثال فایل اجرایی برنامه (داخل پوشه SumatraPDF\Appdata ) عبارت است از SumatraPDF.exe
_____ قیلا" گفتیم که این برنامه برای اجرا نیاز به هیچ تغییری در رجستری ندارد لذا ما نیازی یه اجرای قسمت رجستری
کد نداشته و لذا کد های مربوطه را حذف میکنیم.
کار تمام است و کد ما برای این برنامه تکمیل شده و بصودت زیر درآمده است:
!define SNAME "SumatraPDF"
!include "Registry.nsh"
CRCCheck off
AutoCloseWindow True
SilentInstall silent
WindowIcon off
XPSTYLE on
Name "${SNAME}"
Icon "${SNAME}.ico"
Caption "${SNAME} Launcher"
OutFile "..\${SNAME}.exe"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
Section "Main"
;File to run after applying registry settings
ExecWait "$EXEDIR\Appdata\SumatraPDF.exe"
SectionEnd
فعلا" کارمان با پوشه SumatraPDF تمام شده و میرویم سراغ پوشه WinRAR . در اینجا هم دقیقا" مثل برنامه بالا
بشرح زیر عمل میکنیم:
1. قبلا" در بحث WinRAR دیدیم که برنامه در محل (C:\Program Files\WinRAR) نصب شده .الان محتویات پوشه
WinRAR موجود در C:\Program Files را به داخل پوشه WinRAR\Appdata منقل میکنیم.
2. قبلا" دیدیم که این برنامه هم نیاز به فایل های رجستری ندارد،لذا برای این برنامه هم پوشه WinRAR\portable
را خالی میگذاریم.
3. یک آیکن برای برنامه انتخاب و آن را با نام WinRAR.ico در پوشه WinRAR\Source قرار میدهیم.
4.فایل general.nsi را در داخل پوشه WinRAR\Source به WinRAR.nsi تغییر نام میدهیم.
5. مثل مثال بالا تغییرات لازم را در فایل WinRAR.nsi انجام مبدهیم که در انتها بصورت زیر در می آید:
!define SNAME "WinRAR"
!include "Registry.nsh"
CRCCheck off
AutoCloseWindow True
SilentInstall silent
WindowIcon off
XPSTYLE on
Name "${SNAME}"
Icon "${SNAME}.ico"
Caption "${SNAME} Launcher"
OutFile "..\${SNAME}.exe"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
Section "Main"
;File to run after applying registry settings
ExecWait "$EXEDIR\Appdata\WinRAR.exe"
SectionEnd
خوب این قسمت از کارمان با WinRAR هم در این مرحله تمام شده و باید به سراغ UltraISO برویم.
----------------------
سعی میکنم مطلب را حتی الامکان در جلسه بعدی تمام کنم
تا فرصتی دیگر و ادامه بحث
Magsoud
03-06-2012, 05:01 PM
سلام
آماده سازی فایل های UltraISO
------------------------------------
در پست های قبلی این برنامه را نصب کردیم و برنامه در محل C:\Program Files\UltraISO نصب شده بود.
1. کلیه محتویات پوشه C:\Program Files\UltraISO را داخل پوشه UltraISO\Appdata کپی کنید.
2. در موقع اکتیو کردن این برنامه ، دیدیم که برنامه سریال را در رجستری ذخیره میکند. بنابر این ما برای اینکه بتوانیم
از این برنامه بطور کامل استفاده کنیم، باید موقع استفاده از آن ، اول به طریقی عین همین تغییر را در رجستری
کامپیوتری که در آن از برنامه استفاده میکنیم وارد کنیم.برای اینکار در این مرحله فایل رجستری با محتویات زیر را
ساخته و آن را با نام UltraISO.reg در پوشه UltraISO\portable ذخیره میکنیم.
Windows Registry Editor Version 5.00
; Generated by Shirin Zaban
[HKEY_CURRENT_USER\Software\EasyBoot Systems\UltraISO\5.0]
"Registration"="cba489b6d293ced0d6abefacdef1dfae"
"UserName"="mcs"
در سطور بعد خواهم گفت که چگونه باید تغییرات فوق را در سیستم مورد استفاده ایجاد کنیم.
3. ما وقتی برنامه را اجرا کنیم تغییرات رجستری فوق در کامپیوتر مورد استفاده ایجاد خواهد شد.حال لازم است که
کاری کنیم که وقتی برنامه را بستیم ، تغییراتی که داده ایم در سیستم پاک شده و رجستری کامپیوتر بحالت قبلی
برگردد.
برای اینکار یک فایل رجستری دیگر با محتویات زیر ساخته و آن را هم در پوشه UltraISO\portable با نام Clean.reg
ذخیره میکنیم.
Windows Registry Editor Version 5.00
; Generated by Shirin Zaban
[-HKEY_CURRENT_USER\Software\EasyBoot Systems\UltraISO\5.0]
با اجرای این فایل تغییرات داده شده قبلی حذف خواهد شد. چگونگی بکار گیری این فایل را هم در سطور بعدی توضیح
خواهم داد.
4. اکنون باید کد مربوط به برنامه NSIS را هم آماده کنیم، لذا وارد پوشه UltraISO\portable شده و اول نام فایل
general.nsi را به UltraISO.nsi تغییر میدهیم و سپس محتوای فایل UltraISO.nsi را بصورت زیر تغییر میدهیم:
!define SNAME "UltraISO"
!include "Registry.nsh"
CRCCheck off
AutoCloseWindow True
SilentInstall silent
WindowIcon off
XPSTYLE on
Name "${SNAME}"
Icon "${SNAME}.ico"
Caption "${SNAME} Launcher"
OutFile "..\${SNAME}.exe"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
Section "Main"
;Needed settings to apply to registry
${registry::RestoreKey} "$EXEDIR\portable\UltraISO.reg" $R0
Sleep 300
;File to run after applying registry settings
ExecWait "$EXEDIR\Appdata\UltraISO.exe"
;Cleaning up when we close the application
${registry::RestoreKey} "$EXEDIR\portable\Clean.reg" $R0
SectionEnd
توضیحات مختصر در مورد کد بالا:
در کد بالا برنامه NSIS قبل از اجرای UltraISO.exe با دیدن کد زیر اول تغییرات رجستری موجود در UltraISO.reg اعمال
کرده و بعد 300 میلی ثانیه هیچ کاری نمیکند و سپس خود برنامه UltraISO.exe را اجرا میکند.
${registry::RestoreKey} "$EXEDIR\portable\UltraISO.reg" $R0
Sleep 300
موقعیکه برنامه را می بندیم برنامه NSIS قبل از خروج اول کد زیر را دیده و آن را یعنی Clean.reg اجرا میکند تا تغییرات
داده شده درسیستم پاک شوند.
${registry::RestoreKey} "$EXEDIR\portable\Clean.reg" $R0
5. آیکنی را که دوست دارید برنامه با آیکن درست شود را تهیه و آن را با نام UltraISO.ico در پوشه UltraISO\portable
قرار دهید.
================================
تا این جا همه کار های لازم را کردیم ، و مانده که ساخته های خودمان را با برنامه NSIS به یک Pack تبدیل کنیم که
اینکار دو مرحله دارد که بشرح زیر است:
1. برنامه NSIS و پلاگ این رجستری مربوطه را در لینک زیر آپلود کرده ام ، آن را دانلود کرده اول NSIS و بعد پلاگ این مربوطه
را نصب کنید.
ShiftFile - Free File Hosting and File Sharing (http://shiftfile.com/cgsXZ7)
2. وارد پوشه SumatraPDF\Source شده روی فایل SumatraPDF.nsi کلیک راست کرده و روی گزینه Compile NSIS Script
کلیک کنید .اگر اشکالی در نوشتن کد مربوطه نداشته باشید،در عرض چند لحظه کار برنامه NSIS تمام خواهد شد . حال اگر
به پوشه SumatraPDF وارد شوید خواهید دید که آن جا فایلی با نام SumatraPDF.exe و با آیکن مورد نظر شما ساخته شده
که اگر این فایل را اجرا کنید برنامه SumatraPDF اجرا خواهد شد.
3. همین کار را در پوشه Source دیگر برنامه ها هم انجام دهید.
================================
حال فقط مانده که هر سه برنامه پرتابل خود را بصورت یک Pack داشته باشیم.
برای اینکار باید برنامه PortableApps.com Platform را دانلود کرده و پس از نصب آن پوشه های ساخته شده خودتان یعنی
پوشه های SumatraPDF و UltraISO و WinRAR را بداخل پوشه PortableApps در برنامه PortableApps.com Platform
کپی کنید.
من برای راحت تر کردن شما کل سه برنامه ایکه با هم ساختیم و نیز برنامه Total uninstall که به آن ها اضافه کرده ام را
داخل برنامه PortableApps.com Platform قرار داده و آن را در لینک زیر آپلود کرده ام که میتوانید دانلود کرده و استفاده کنید.
My Portables.rar (11.7MB)
--------------------------
ShiftFile - Free File Hosting and File Sharing (http://shiftfile.com/j7THxG)
کافی است که پس از درآوردن از فشردگی روی فایل My Portables\StartPortableApps.exe دابل کلیک کرده و نتیجه را ببینید.
borhan_3010
03-06-2012, 09:48 PM
سلام
امکانش هست ultra iso طوری تنظیم بشه که با اجرای اون یه درایو مجازی جدید ایجاد کنه؟ فکر کنم تو رجیستری بشه؟!
درود
با تشکر از دوستان عزیز بویژه استاد عزیز
یک اموزش فارسی هم در این رابطه یعنی اسکریپت nsis بود که مطالعه اش خالی از لطف نیست!
خدمت دوستان
Magsoud
03-06-2012, 10:18 PM
سلام
امکانش هست ultra iso طوری تنظیم بشه که با اجرای اون یه درایو مجازی جدید ایجاد کنه؟ فکر کنم تو رجیستری بشه؟!
سلام
در این نمونه ایکه آپلود کردم ، سعی کردم ساده ترین گزینه ها را بکار ببرم. چون در غیر اینصودت مسایلی پیش
می آمد که مجبور بودم بیشتر توضیح دهم و آموزش خیلی طولانی تر میشد و کاربران را فراری میداد.
موقع نصب UltaISO میتوانی تمام گزینه ها را انتخاب و نصب کنی و سپس تغییرات رجستری در حین نصب را
بغیر از محل نصب ذخیره کرده و بعد در NSIS این مشخصه ها را هم همراه مشخصات کرک اجرا کنی.
ولی با این کار پاک کردن رجستری بعد از بسته شدن برنامه یک مقدار سخت تر میشود
درود
جناب شیرین زبان یک سوالی داشتم!! داشتم یک نسخه کرک شده از Total Uninstall Pro می ساختم. وقتی اسکریپت رو کامپایل کردم، فقط اسکریپت کامپایل شد!! یعنی برای استفاده از این اسکریپت باید از همون روش قدیمی یعنی Winrar برای ساخت یک فایل واحد استفاده کنیم؟!
مرشی:d:
Magsoud
03-08-2012, 07:07 PM
.........داشتم یک نسخه کرک شده از Total Uninstall Pro می ساختم. وقتی اسکریپت رو کامپایل کردم، فقط اسکریپت کامپایل شد!! یعنی برای استفاده از این اسکریپت باید از همون روش قدیمی یعنی Winrar برای ساخت یک فایل واحد استفاده کنیم؟!
........
سلام
نیما جان اول نوع کرک شده را برای ما هم آپلود کن
و اما بعد.
اگر زنده باشم چند روز بعد مختصری در مورد ساخت نصب کننده با NSIS صحبت خواهم کرد.
البته من این برنامه را 30 درصد حالیمه نه بیشتر؟!
اما یک نکته را فراموش نکن که کلمه Install در NSIS را همواره در ذهنت عمل کپی در محل نصب فکر کن.
لذا در حین نصب تمام فایل ها به محل نصب کپی خواهند شد.
پس در NSIS از چند Section استفاده کن و برای هر Section آرایش دیگر مورد نظرت را اعمال کن
و فراموش نکن که دستورات فایل اسکریپت داده شده مثل برنامه Batch سطور را بترتیب و یکی پس از دیگری اجرا میکند.
سعی میکنم چند روز بعد بیشتر و واضحتر و با مثال مطلب را عرض کنم. بازهم تکرار میکنم که بنده از برنامهNSIS فقط به
اندازه رفع نیاز هایم بلد هستم.
درود
ممنون!!
نه مشکل من با پک کردن هست!! چون که خوب WinRar اگر پک کنم سرعت کار را پایین می اورد.
به هرحال این نسخه را پابلیش کردم!!
شما هم یک نگاهی بیاندازید.
مرسی
نرم افزار قدرت مند و کاربردی Total Uninstall Pro 5.10.0 (http://forum.p30ask.com/newpostinthread121931.html)
borhan_3010
04-10-2012, 04:11 PM
...
پرتابل کردن برنامه UltraISO PE 9.5.0.2800
...
درود
برنامه UltraISO اطلاعات مربوط به درایو مجازی ساخته شده را در قسمت [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic es\ISODrive] نگهداری میکنه!
فرضا اطلاعات مربوط به نام درایو مجازی ساخته شده :
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic es\ISODrive\Parameters\Device0]
"DRIVE"="X"
که در اینجا X نام درایو مجازی است! ولی گذاشتن اطلاعات به طریق بالا کامل نیست؟ چون با تغییر نام درایو چیزی تغییر نمیکنه! شاید باید درایور مربوطه را هم قبلش نصب بشه کرد در مسیر Appdata\drivers قرار داره : ISODrv64.sys برای ویندوز 64 بیتی و ISODrv.sys برای ویندوز 32 بیتی!
کنار این دو فایل فایلی به نام IsoCmd.exe قرار داره که به نظر می رسه کارها توسط اون انجام میشه!!؟ باید بیشتر بررسی کرد!!
Usage: isocmd <-command> <parameter>
-mount drive: file_spec <password> (mount file_spec to drive:
password is optional for ISZ images)
-eject drive: (unmount drive:)
-number (set number of devices)
-change device_no new_drive_letter: (change drive letter)
بنابراین برای ساخت UltraISO پرتابل طوری که درایو مجازی اش کار کنه لازمه که دستورات بالا را نیز وارد اسکریپت نویسی Nsis کرد! که یکم پیچیده تر میشه! باید نوع ویندوز 32 و 64 بیتی تشخیص داده بشه و از دستورات شرطی استفاده کرد و ...
مثال برای استفاده از IsoCmd.exe:
Example: isocmd -mount L: "d:\isos\mycd.iso"
- Unmount command
isocmd -eject drive:
Example: isocmd -eject L:
- Change drive letter of ISODrive
isocmd -change device# driveLetter:
Example: isocmd -change 1 F:
باید موارد بالا کامل بررسی بشه تا بشه یه UltraISO پرتابل کامل ساخت! در غیر اینصورت بخش درایو مجازی غیرفعال هستش:
http://www.pic.p30ask.com/images/13725737701551135299.png (http://www.pic.p30ask.com/)
یه سوال دارم: توی Nsis چجوری میشه مسیر فایل اجرایی رو استخراج کرد؟ مثلا بشه فایل اجرایی برنامه پرتابل شده UltraISOportale.exe توی مسیر D:\My Portable App\Ultra ISO\UltraISOportale.exe اجرا میشه چطوری میشه مسیر D:\My Portable App\Ultra ISO رو تو Nsis پیدا کرد و توی حافظه کلیپ بورد قرار داد!!؟
درود بر شما :d:
درود
برنامه UltraISO اطلاعات مربوط به درایو مجازی ساخته شده را در قسمت [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic es\ISODrive] نگهداری میکنه!
فرضا اطلاعات مربوط به نام درایو مجازی ساخته شده :
که در اینجا X نام درایو مجازی است! ولی گذاشتن اطلاعات به طریق بالا کامل نیست؟ چون با تغییر نام درایو چیزی تغییر نمیکنه! شاید باید درایور مربوطه را هم قبلش نصب بشه کرد در مسیر Appdata\drivers قرار داره : ISODrv64.sys برای ویندوز 64 بیتی و ISODrv.sys برای ویندوز 32 بیتی!
کنار این دو فایل فایلی به نام IsoCmd.exe قرار داره که به نظر می رسه کارها توسط اون انجام میشه!!؟ باید بیشتر بررسی کرد!!
بنابراین برای ساخت UltraISO پرتابل طوری که درایو مجازی اش کار کنه لازمه که دستورات بالا را نیز وارد اسکریپت نویسی Nsis کرد! که یکم پیچیده تر میشه! باید نوع ویندوز 32 و 64 بیتی تشخیص داده بشه و از دستورات شرطی استفاده کرد و ...
در این موارد بهتره گاهی اوقات از فایل Batch کمک گرفت و به اسکریپتمان گفت که این فایل Batch را بصورت مخفی اجرا کند.
برای تشخیص 32/64 در بت باید به این شکل عمل کرد:
@echo off
echo.
IF defined ProgramFiles(x86) (
Echo It's 64 Bit.
) else (
Echo It's 32 Bit.
)
pause>nul
و دستورات IsoCMD را هم در بت می توان به این شکل صادر کرد :
@IsoCMD.exe parameters
یه سوال دارم: توی Nsis چجوری میشه مسیر فایل اجرایی رو استخراج کرد؟ مثلا بشه فایل اجرایی برنامه پرتابل شده UltraISOportale.exe توی مسیر D:\My Portable App\Ultra ISO\UltraISOportale.exe اجرا میشه چطوری میشه مسیر D:\My Portable App\Ultra ISO رو تو Nsis پیدا کرد و توی حافظه کلیپ بورد قرار داد!!؟
به این شکل می توان دایرکتوری فایل اجرا شده را بدست اورد :
System::Call "kernel32::GetCurrentDirectory(i ${NSIS_MAX_STRLEN}, t .r0)"
به این شکل ادرس دایرکتوری در 0$ قرار می گیرد.
روز خوش
:^:
borhan_3010
04-10-2012, 07:46 PM
برای تشخیص 32/64 در بت باید به این شکل عمل کرد:
درود
نیما جان برای تشخیص 32 یا 64 بیتی بودن با خود nsis میشه ! با دستورات زیر:
!include "x64.nsh"
.
.
.
{If} ${RunningX64}$
اگه 64 بیتی بود دستورات اینجا بشه
{Else}$
اگه 32 بیتی بود دستورات اینجا اجرا بشه
{EndIf}$
خود دستورات IsoCmd.exe رو هم میشه مستقیم با nsis با دستور ExecWait یا Exec وارد کرد موردی نداره!
فعلا مشکل اینجاست باید پروسه رو پیدا کرد! که طی چه پروسه ای یا دستوراتی درایو مجازی ساخته میشه چون همون طور تو شکل دیدین تو حالت معمولی غیر فعال هستش و عملا مهم ترین قابلیت این برنامه تو پرتابل کردن از دست رفته!
اون مورد دایرکتوری هم ممنون جالب بود! :merc567:
Magsoud
04-10-2012, 11:27 PM
بنام دوست
برهان جان من هنوز متوجه قضیه نشده ام ! شما چه چیزی میخواهید انجام بگیرد؟
اگر میخواهید قابلیت بار کردن ایزو را در یک درایو مجازی داشته باشد که دارد.
اگر قصدتان فقط ساخت درایو مجازی در سیستم است و کاری با Ultraiso ندارید که این هم به روش های مختلف شدنی است.
و یا منظورتان چیست من نتوانستم متوجه بشوم.
borhan_3010
04-10-2012, 11:35 PM
درود
همون طور که تو عکس پست 17 مشخص هست برنامه نمی تونه درایو مجازی درست کنه (غیر فعاله) که بشه یه ایزو رو توش Mount کرد ... فقط می تونه ایزو رو باز کنه
اگر میخواهید قابلیت بار کردن ایزو را در یک درایو مجازی داشته باشد که دارد.
تو نسخه پرتابل این قابلیت وجود نداره؟؟ اصلا درایو مجازی نمی تونه بسازه که ایزویی رو داخل اش قرار بده؟؟
Magsoud
04-11-2012, 12:37 AM
بنام دوست
ولی با نوعی که من امروز امتحان کردم توانستم یک فایل ایزو را توسط Ultraiso نوع پرتابل در درایو مجازی باز کنم.
اجازه بدهید مجددا" تست کنم و نتیجه را فردا عرض میکنم
eDvArDo
04-11-2012, 12:17 PM
سلام به دوستان خوبم
استاد خيلي خيلي عالي، جالب، روان، و مفيد بود.
دوستان ديگر هم زحمت بكشن تو مسير عنوان تاپيك حركت كنند تا زحمتهاي استاد هدر نره!
سپاس
Magsoud
04-11-2012, 12:49 PM
بنام دوست
برهان عزیز با تست های من روی ماشین مجازی (فقط در ایکس پی امتحان کردم که قاعدتا" باید در ویندوز 7 هم کار کند)، نتیجه
زیر حاصل شد:
( قطعا" توجه دارید که ما فقط در صورتی میتوانیم با Ultraiso یک ایزو را در درایو مجازی بار کنیم که در حین نصب گزینه مربوطه
را انتخاب کرده باشیم.)
اگر ما تمام تغییرات رجستری در حین نصب (به انضمام تنظیم مربوط به اکتیو شدن) را،قبل از اجرای برنامه پرتابل Ultraiso به
سیستم ارسال کنیم ، تمام گزینه ها کار خواهند کرد.
بنابر این راحت ترین راه این است که پس از مانیتور کردن مراحل نصب Ultraiso (با انتخاب تمام گزینه های مورد نظر) ، تغییرات
رجستری را درآورده و آن را توسط برنامه چند کیلو بایتی Reg2Nsis به فایل رجستری مخصوص Nsis تبدیل کرده و محتوای این
تبدیل را داخل کد اجرائی برنامه Nsis اضافه کنیم.
borhan_3010
04-11-2012, 01:05 PM
درود
من از همون روشی که شما تو پست 7 فرمودین استفاده کردم و همچنین چندبار دیگه زمان ایجاد درایو مجازی سیستم رو مانیتور کردم
اگر ما تمام تغییرات رجستری در حین نصب (به انضمام تنظیم مربوط به اکتیو شدن) را،قبل از اجرای برنامه پرتابل Ultraiso به
سیستم ارسال کنیم ، تمام گزینه ها کار خواهند کرد.
در این مورد من Ultraiso رو که نصب کرده بودم زمانی که درایور مجازی نداشتم با زمانی که درایور مجازی ایجاد کردم مانیتور کردم و به نتایجی که تو پست 17 گفتم رسیدم.
شاید لازم باشه یه بار دیگه زمان نصب هم یه مانیتور دیگه انجام بشه ولی فکر نکنم وضعیت فرقی کنه چون قضیه فقط مربوط به رجیستری نمیشه یا تو مانیتورینگ رجیستری نمیاد؟! ظاهراً برنامه از دستورات داخلی و با کمک فایل IsoCmd.exe کارهای مربوط به درایو مجازی رو انجام میده که احتمالا باید این قسمت وارد مرحله پرتابل سازی بشه ... ؟
vBulletin v4.2.5, Copyright ©2000-2025, Jelsoft Enterprises Ltd.