صفحه 1 از 3 123 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 25

موضوع: ساخت برنامه های پرتابل (Portable ) روش (3)

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    مدیر سایت
    دوستتان دارم
    تاریخ عضویت
    Jan 2012
    محل سکونت
    تهران
    نوشته ها
    2,286
    تشکر تشکر کرده 
    4,798
    تشکر تشکر شده 
    13,155
    تشکر شده در
    2,296 پست
    قدرت امتیاز دهی
    45307
    Array

    پیش فرض ساخت برنامه های پرتابل (Portable ) روش (3)

    سلام
    ضروری میدانم که یک نکته را قبل از شروع این مبحث به اطلاع همه برسانم:

    آنچه بنده میدانم و در مبحث های مختلف عرض میکنم مطالبی نیستند که از شکم مادر به من منتقل شده باشد، بنده
    هم سال ها مطالعه و آزمایش کرده ام و بیشتر آن چیز هایی را که آموخته ام را فقط و فقط مدیون افرادی هستم که
    دانسته های خود را در اینترنت به اشتراک گذاشته اند.
    شاید بعضی از شما عزیزان بگفته حقیر خرده بگیرند و بگویند این همه کتاب در بازار هست و هرکه مطالعه کند یاد میگیرد
    ولی بگذارید داستان مستند کوتاهی را برایتان تعریف کنم، شاید خیلی از شما ها بازیکنان این داستان بوده باشید:

    چند سال پیش میخواستم مطلبی در مورد کامپیوتر را یاد بگیرم ،با هر سختی ای که بود از گلوی زن و بچه بریدم و چند
    هزار تومان داده و کتاب ترجمه شده مربوطه را خریدم.و با خوشحالی به خانه برگشته و بدون توجه به غر غر های عیال
    مربوطه که میگفت (گوشت نداریم ، برنج نداریم ووو بعد تو میری کتاب میخری؟؟) پشت کامپیوتر نشستم و شروع به
    یادگیری کردم. متاسفانه در همان فصل اول گیر کردم و نتوانستم جواب بگیرم. عیال محترم هم که متوجه این موضوع شد
    دیگر ول کن نبود که نبود.
    میدانید مشکل چه بود و چگونه حل شد؟
    بعد از چند روز کار بی نتیجه ،به اینترنت مراجعه و کتاب زبان اصلی را مجانی دانلود کرده و بعد که نگاه کردم متوجه شدم
    که مترجم گرامی چند صفحه را خواسته یا ناخواسته پریده یعنی مترجم محترم دو صفحه را فراموش کرده بود ترجمه کند
    و لذا من کد هایی را که باید میدادم نداشتم که بدهم..
    بنا بر این استفاده از کتاب هایی هم که موجودند ولی توسط متخصص متعهد ترجمه نشده اند،چیزی حل نمیشود.

    خیلی متاسفم که باید بگویم این ویژگی به اشتراک گذاشتن دانسته ها در آنطرف دنیا ،که در بین غیر مسلمانان رایج
    است، کمتر در بین ما مسلمانان دیده میشود و ما بیشترمان دانسته هایمان را یا مخفی میکنیم و یا در مقابل پول زیاد
    در اختیار میگذاریم.
    در حالیکه نشر علم (به اشتراک گذاشتن دانسته ها)، باعث بالا رفتن علم جامعه و در نهایت باعث پیشرفت جوامع
    میگردد. شاید همین نکته یکی از عواملی باشد که جوامع جهان سوم از لحاظ تکنولوژی و پیشرفت علمی عقب مانده اند.

    ======================
    در دو آموزش قبلی تا حدودی با چگونگی ساخت برنامه های پرتابل آشنا شدیم.الان دیگر میتوانیم خیلی از برنامه
    های خود را به پرتابل تبدیل کنیم.ولی هنوز با بعضی از برنامه ها مشکل خواهیم داشت بویژه برنامه هاییکه نیاز به
    سریال و غیره برای رجستر شدن یا اکتیو شدن دارند.
    برای اینکه بتوانیم برنامه های پرتابلی بسازیم که در هر شرایط کارا باشند، لازم است که نکاتی را یاد گرفته و در ضمن
    با طرز کار تعدادی از برنامه های ویژه آشنا شویم.
    با توجه به اینکه بطور دقیق نمیشود گفت چه نکاتی باید یاد گرفته شود و چه برنامه هایی را باید داشته باشیم، ، بنده
    تصمیم گرفتم که یک مثال عملی را قدم به قدم توضیح دهم و در این مسیر ، براساس نیاز هاییکه پیش می آید ، به
    معرفی برنامه های مورد نیاز بپردازم.
    میدانم مقدمه ام طولانی و خسته کننده شده ولی ذکر چند نکته را هم ضروری میدانم که:
    __ دو آموزش قبلی ، عمومی بوده و همه نوع کاربری میتواند استفاده نماید ولی آموزش امروز (و شاید روز های دیگر)
    برای کاربران پیشرفته در نظر گرفته شده و انجام آن توسط کاربران عادی ممکن است باعث خرابی سیستمشان شود.
    __ نمیدانم چه زمانی ولی احتمالا" حدود سه سال پیش آموزشی در مورد ساخت برنامه های پرتابل از اینترنت دانلود
    کردم (با نام How to make portable with NSIS.pdf) که واقعا" جالب و در نوع خود کافی بود. وبنده از این آموزش نکات
    زیادی یاد گرفتم که در آموزش امروز از قسمت هایی از آن هم استفاده خواهیم کرد.افسوس که هرگز نام و آدرسی از
    نویسنده پیدا نکردم که از ایشان قدردانی کنم. توضیح اینکه ایشان بهمراه آموزش کلیه برنامه های مورد نیاز را هم آپلود
    کرده بود که اگر اشتباه نکنم حجم کلی محصول حدود 40 مگا بایت بود.

    __ و در انتها شکی نیست که این آموزش برای عده ای بسیار خسته کننده و در مقابل برای عده ای دیگر بسیار لذتبخش
    خواهد بود.
    ======================
    خود بنده بیشتر علاقمند به ساخت برنامه های بوتیبل توسط برنامه WinRAR بوده ولی فکر میکنم ساخت برنامه های پرتابل
    قابل استفاده با NSIS بهتر و کاملتر است .
    در این آموزش روش درست کردن نوع NSIS را توضیح داده و اگر فرصت دیگری قسمت شد در مورد استفاده از WinRAR هم
    بحث خواهیم داشت.

    تا روزی دیگر و ادامه بحث
    ویرایش توسط Magsoud : 03-01-2012 در ساعت 06:33 PM

    [SIGPIC][/SIGPIC]

  2. 17 کاربر مقابل از Magsoud عزیز به خاطر این پست مفید تشکر کرده اند.


  3. #2
    مدیر بخش اموزشی
    !Busy
    تاریخ عضویت
    Dec 2011
    محل سکونت
    . : : I R A N : : .
    نوشته ها
    1,330
    تشکر تشکر کرده 
    4,575
    تشکر تشکر شده 
    6,033
    تشکر شده در
    1,280 پست
    حالت من : Khoshhal
    قدرت امتیاز دهی
    1143
    Array

    پیش فرض

    سلام
    مرسی از سیل آموزش هایی که به راه انداختین
    نمونه این آموزش ها رو تو هیچ سایت فارسی نمیشه دید!

    من با این سری پرتابل کردن یه مقدار کار کردم و تا حدودی هم جواب گرفتم ولی تا این حد که با توتال رجیسستری کرک رو بیرون بکشم و وارد نرم افزار NSIS کنم یعنی برنامه هایی که با سریال معمولاً کرک میشن. ولی بعضی از برنامه ها برای اجرای صحیح نیاز دارن بعضی از فایل ها رو توی پوشه هایی خاص مثل system32 کپی کنن و از اونا استفاده کنن که من نتونستم با این روش اونارو پرتابل کنم.
    البته من منتظر کامل شدن آموزش می مونم ...

    بازم ممنونم از آموزش هاتون
    کسی رو برای دوست داشتن انتخاب کن که قلب بزرگی داشته باشه!
    تا مجبور نشی به خاطر اينکه تو قلبش وارد بشی خودت را کوچک کنی!


    موفق كسی است كه با آجرهايی كه به طرفش پرتاب می شود، يک بنای محكم بسازد!
    اشکی که برای شکست می ریزیم، عرقی است که برای تلاش نریختیم!



  4. 14 کاربر مقابل از borhan_3010 عزیز به خاطر این پست مفید تشکر کرده اند.


  5. #3
    مدیر بخش اموزشی
    تاریخ عضویت
    Apr 2011
    نوشته ها
    294
    تشکر تشکر کرده 
    2,174
    تشکر تشکر شده 
    2,141
    تشکر شده در
    294 پست
    حالت من : Ghafelgir
    قدرت امتیاز دهی
    288
    Array

    پیش فرض

    درود
    با تشکر از استاد عزیز!!
    نمی دانم اموزش مربوطه تا همین قدر هست و یا من نمی توانم ادامه اموزش را ببینم ( چند روزیی ست با اکثر سایت ها مشکل پیدا کرده ام) به هرحال خواستم قدردانی ای کرده باشم!
    در مورد Winrar به نظر من می تواند بهترین گزینه باشد. البته NSIS هم مورد بسیار خوبی ست ولی اگر به من محبث بپردازید بهتر است!!
    البته ترجمه این مورد هم خیلی عالی ست!!:دی

    PDF مورد نظر را به نظرم پیدا کردم باشم. البته حجم این فایل RAR ، ا28 مگابایت هست.هنوز خودم دانلود نکردم و فقط اپلود کردم!!


    ممنون

    نقل قول نوشته اصلی توسط borhan_3010 نمایش پست ها
    .... ولی بعضی از برنامه ها برای اجرای صحیح نیاز دارن بعضی از فایل ها رو توی پوشه هایی خاص مثل system32 کپی کنن و از اونا استفاده کنن که من نتونستم با این روش اونارو پرتابل کنم.


    برهان جان!!
    من زیاد با این اسکریپت کار نکردم ولی به نظرم باید با یک اسکریپت VBا (VBS) در اسکریپت NSIS بتوانی هم فایل های مربوطه را در ویندوز کپی کنی و هم در همان اسکرپیت ذکر کنی که فایل مورد نظرت اجرا شود!





  6. 13 کاربر مقابل از n1ma عزیز به خاطر این پست مفید تشکر کرده اند.


  7. #4
    مدیر سایت
    دوستتان دارم
    تاریخ عضویت
    Jan 2012
    محل سکونت
    تهران
    نوشته ها
    2,286
    تشکر تشکر کرده 
    4,798
    تشکر تشکر شده 
    13,155
    تشکر شده در
    2,296 پست
    قدرت امتیاز دهی
    45307
    Array

    پیش فرض

    سلام
    دوستان،هر نرم افزاری که در کامپیوترمان نصب میکنیم ، تغییراتی در سیستم ما ایجاد میکند.ولی نوع تغییرات بسته
    به نوع نرم افزار فرق میکند و دانستن این تغییرات برای ساختن برنامه های پرتابل، بالاترین اهمیت را دارد.

    یک سری از نرم افزار ها تنها تغییراتی که ایجاد میکنند این است که پوشه یا پوشه هایی در سیستم درست کرده
    و فایل های مورد نیازشان را در آن پوشه ها قرار میدهند. و دیگر هیچ تغییر مهمی در رجستری و جا های دیگر انجام
    نمیدهند.
    اینگونه نرم افزار ها را که معمولا" نرم افزار های رایگان هستند، به راحتی میتوان پرتابل کرد.

    در مقابل برنامه هایی هستند که نه تنها پوشه هایی در قسمت های مختلف سیستم درست کرده و فایل های خود
    را در آن جا میگذارند، بلکه تنظیمات متفاوتی هم به رجستری سیستم اضافه میکنند که این تنظیمات لازمه کار آن ها
    میباشد.
    مطلب در اینجا تمام نمیشود چون بعضی از نرم افزار ها نه تنها اعمال بالا را انجام میدهند بلکه تغییر یا تغییرات دیگری
    از قبیل تغییرات زیر در سیستم بوجود می آورند:
    __ بعضی از فایل های سیستم را دیلیت کرده و فایل های خود را بجای آن ها قرار میدهند.
    __ بعضی از تنظیمات رجستری را دیلیت میکنند.
    __ بعضی تنظیمات رجستری را عوض مینمایند.
    __ و غیره
    و باز برنامه هایی هستند که برای اجرای کامل آن ها نیاز داریم که آن ها را توسط دادن 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 ترجمه
    شده است.

    در ضمن به دوست عزیزم نیما عرض کنم لینکی را که گذاشته اید (لینک آموزشی که بنده در یک سایت خارجی بزبان انگلیسی
    نوشته ام ) را هم سعی میکنم در ادامه همین آموزش بگنجانم

    تا روزی دیگر و فرصتی دیگر
    ویرایش توسط Magsoud : 03-02-2012 در ساعت 09:50 PM

    [SIGPIC][/SIGPIC]

  8. 15 کاربر مقابل از Magsoud عزیز به خاطر این پست مفید تشکر کرده اند.


  9. #5
    مدیر بخش اموزشی
    !Busy
    تاریخ عضویت
    Dec 2011
    محل سکونت
    . : : I R A N : : .
    نوشته ها
    1,330
    تشکر تشکر کرده 
    4,575
    تشکر تشکر شده 
    6,033
    تشکر شده در
    1,280 پست
    حالت من : Khoshhal
    قدرت امتیاز دهی
    1143
    Array

    پیش فرض

    سلام

    نیما جان من فقط تا همین حد باهاش ور رفتم که بدونم چی به چیه و رجیستری رو وارد کنم به این صورت که رجیستری سریال رو با Total Uninstall در میاوردم و بعدش وارد می کردم طوری که وقتی اجرا میشد به رجیستری ویندوز اضافه کنه و وقتی از برنامه خارج میشدی به حالت اول برگردونه، که البته باید تایید فایروال رو بگیری دی:

    جناب شیرین زبان به نظرتون برای فهمیدن تغییرات استفاده از برنامه های مانیتورینگ بهتر و دقیق تر نیست؟
    کسی رو برای دوست داشتن انتخاب کن که قلب بزرگی داشته باشه!
    تا مجبور نشی به خاطر اينکه تو قلبش وارد بشی خودت را کوچک کنی!


    موفق كسی است كه با آجرهايی كه به طرفش پرتاب می شود، يک بنای محكم بسازد!
    اشکی که برای شکست می ریزیم، عرقی است که برای تلاش نریختیم!



  10. 13 کاربر مقابل از borhan_3010 عزیز به خاطر این پست مفید تشکر کرده اند.


  11. #6
    مدیر سایت
    دوستتان دارم
    تاریخ عضویت
    Jan 2012
    محل سکونت
    تهران
    نوشته ها
    2,286
    تشکر تشکر کرده 
    4,798
    تشکر تشکر شده 
    13,155
    تشکر شده در
    2,296 پست
    قدرت امتیاز دهی
    45307
    Array

    پیش فرض

    سلام
    برهان عزیز در طول این مبحث تعداد زیادی برنامه های مختلف را معرفی و آپلود خواهم کرد تا دوستان راحت استفاده کنند
    از نظر من هنوز بهترین و خوشدست ترین برنامه برای مانیتورینگ تغییرات سیستم برنامه Total Uninstall است. البته بنده
    ورژن 4.11 این برنامه را پسندیده و نوع پرتابلش را بهترین دانسته و استفاده میکنم.
    توجه داشته باش که این ورژن مثل ورژن های جدید نمیتواند برنامه های از قبل نصب شده را تشخیص دهد و فقط با برنامه
    هایی کار میکند که توسط خودش نصب شده باشند.
    توضیح دیگر اینکه این ورژن این برنامه ( و همچنین ورژن 5.20 برنامه IDM ) را بنده چند سال است استفاده میکنم و کرکشان
    شناسایی نمیشود.

    [SIGPIC][/SIGPIC]

  12. 13 کاربر مقابل از Magsoud عزیز به خاطر این پست مفید تشکر کرده اند.


  13. #7
    مدیر سایت
    دوستتان دارم
    تاریخ عضویت
    Jan 2012
    محل سکونت
    تهران
    نوشته ها
    2,286
    تشکر تشکر کرده 
    4,798
    تشکر تشکر شده 
    13,155
    تشکر شده در
    2,296 پست
    قدرت امتیاز دهی
    45307
    Array

    پیش فرض

    سلام
    تا الان به اندازه کافی حرف زدیم و حالا دیگر وقت آن است که قدم به قدم مراحل ساخت چند برنامه را دنبال کنیم.
    با توجه به اینکه قرار شد با استفاده از برنامه NSIS نرم افزار های پرتابل مورد نیاز خود را درست کنیم لذا لازم میدانم
    اول دور نمای کلی کاری را که میخواهیم با هم انجام بدهیم را مشخص کنم.
    اگر دوستان گرامی با سایت portableapp.com آشنا بوده و از برنامه های پرتابل ساخت این سایت استفاده کرده
    باشند ، خواهند دید که ما در اینجا دقیقا" همان روش را استفاده میکنیم.

    میخواهیم یک Pack بسازیم که با جرای فایل اصلی آن یک منو نمایان شود، و دراین منو نام چند نرم افزار باشد، و با
    کلیک کردن ما روی هر نرم افزار ، آن نرم افزار اجرا شود .
    بنده در مثال اول ساده ترین مورد ها را بحث خواهم کرد تا کاربر با کلیات کار آشنا شود و بعد در صورت لزوم در مورد
    انواع سخت تر و پیچیده بحث خواهیم نمود.

    پرتابل کردن برنامه Sumatra PDF Viewer 1.9
    --------------------------------------------------
    بعضی از برنامه ها مثل همین برنامه به راحتی و در چند لحظه به نوع پرتابل تبدیل میشوند.برای امتحان میتوانید این
    برنامه را از لینک زیر دانلود و امتحان فرمایید:
    Sumatra PDF Viewer - Download.com
    برای پرتابل کردن این برنامه لازم نیست که آن را نصب کنید کافی است که روی این برنامه کلیک راست کرده و توسط
    برنامه 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 را به کامپیوتر دیگری منتقل کنیم و در آن کامپیوتر یکبار فایل رجستری را اجرا کنیم،
    بعد از آن برنامه بصورت کامل بدون نصب کار خواهد کرد.
    فعلا" این مثال را هم موقتا" بحال خود گذاشته و سراغ پرتابل کردن آخرین برنامه این بخش می رویم.

    تا روزی دیگر و فرصتی دیگر

    [SIGPIC][/SIGPIC]

  14. 14 کاربر مقابل از Magsoud عزیز به خاطر این پست مفید تشکر کرده اند.


  15. #8
    مدیر بخش اموزشی
    !Busy
    تاریخ عضویت
    Dec 2011
    محل سکونت
    . : : I R A N : : .
    نوشته ها
    1,330
    تشکر تشکر کرده 
    4,575
    تشکر تشکر شده 
    6,033
    تشکر شده در
    1,280 پست
    حالت من : Khoshhal
    قدرت امتیاز دهی
    1143
    Array
    نقل قول نوشته اصلی توسط magsoud نمایش پست ها
    ...

    پرتابل کردن برنامه UltraISO PE 9.5.0.2800

    ...
    درود
    برنامه UltraISO اطلاعات مربوط به درایو مجازی ساخته شده را در قسمت [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic es\ISODrive] نگهداری میکنه!

    فرضا اطلاعات مربوط به نام درایو مجازی ساخته شده :
    کد:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\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 پرتابل کامل ساخت! در غیر اینصورت بخش درایو مجازی غیرفعال هستش:

    13725737701551135299

    یه سوال دارم: توی Nsis چجوری میشه مسیر فایل اجرایی رو استخراج کرد؟ مثلا بشه فایل اجرایی برنامه پرتابل شده UltraISOportale.exe توی مسیر D:\My Portable App\Ultra ISO\UltraISOportale.exe اجرا میشه چطوری میشه مسیر D:\My Portable App\Ultra ISO رو تو Nsis پیدا کرد و توی حافظه کلیپ بورد قرار داد!!؟
    کسی رو برای دوست داشتن انتخاب کن که قلب بزرگی داشته باشه!
    تا مجبور نشی به خاطر اينکه تو قلبش وارد بشی خودت را کوچک کنی!


    موفق كسی است كه با آجرهايی كه به طرفش پرتاب می شود، يک بنای محكم بسازد!
    اشکی که برای شکست می ریزیم، عرقی است که برای تلاش نریختیم!



  16. 5 کاربر مقابل از borhan_3010 عزیز به خاطر این پست مفید تشکر کرده اند.


  17. #9
    مدیر بخش اموزشی
    تاریخ عضویت
    Apr 2011
    نوشته ها
    294
    تشکر تشکر کرده 
    2,174
    تشکر تشکر شده 
    2,141
    تشکر شده در
    294 پست
    حالت من : Ghafelgir
    قدرت امتیاز دهی
    288
    Array

    پیش فرض

    درود بر شما

    درود
    برنامه 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$ قرار می گیرد.

    روز خوش



    اگه برای بقیه لاتی برای ما شکلات هم نیستی
    1725128855

    زندگی شاید آن لبخندی ست، که دریغش کردیم
    زندگی زمزمه پاک حیات ست، میان دو سکوت
    زندگی، خاطره آمدن و رفتن ماست
    لحظه آمدن و رفتن ما، تنهایی ست
    من دلم می خواهد
    قدر این خاطره را دریابیم

    سهراب سپهری


     
    من چه سبزم امروز
    و چه اندازه تنم هوشیار است
    نكند اندوهی ‚ سر رسد از پس كوه

    چه كسی پشت درختان است ؟
    هیچ می چرد گاوی در كرد
    ظهر تابستان است
    سایه ها می دانند كه چه تابستانی است
    سایه هایی بی لك
    گوشه ای روشن و پاك
    كودكان احساس! جای بازی اینجاست

    زندگی خالی نیست
    مهربانی هست سیب هست ایمان هست
    آری تا شقایق هست زندگی باید كرد

    در دل من چیزی است مثل یك بیشه نور مثل خواب دم صبح
    و چنان بی تابم كه دلم می خواهد
    بدوم تا ته دشت بروم تا سر كوه
    دورها آوایی است كه مرا می خواند



  18. 6 کاربر مقابل از n1ma عزیز به خاطر این پست مفید تشکر کرده اند.


  19. #10
    مدیر بخش اموزشی
    !Busy
    تاریخ عضویت
    Dec 2011
    محل سکونت
    . : : I R A N : : .
    نوشته ها
    1,330
    تشکر تشکر کرده 
    4,575
    تشکر تشکر شده 
    6,033
    تشکر شده در
    1,280 پست
    حالت من : Khoshhal
    قدرت امتیاز دهی
    1143
    Array
    نقل قول نوشته اصلی توسط n1ma نمایش پست ها

    برای تشخیص 32/64 در بت باید به این شکل عمل کرد:

    درود
    نیما جان برای تشخیص 32 یا 64 بیتی بودن با خود nsis میشه ! با دستورات زیر:
    !include "x64.nsh"
    .
    .
    .
    {If} ${RunningX64}$
    اگه 64 بیتی بود دستورات اینجا بشه
    {Else}$
    اگه 32 بیتی بود دستورات اینجا اجرا بشه
    {EndIf}$
    خود دستورات IsoCmd.exe رو هم میشه مستقیم با nsis با دستور ExecWait یا Exec وارد کرد موردی نداره!
    فعلا مشکل اینجاست باید پروسه رو پیدا کرد! که طی چه پروسه ای یا دستوراتی درایو مجازی ساخته میشه چون همون طور تو شکل دیدین تو حالت معمولی غیر فعال هستش و عملا مهم ترین قابلیت این برنامه تو پرتابل کردن از دست رفته!
    اون مورد دایرکتوری هم ممنون جالب بود!
    کسی رو برای دوست داشتن انتخاب کن که قلب بزرگی داشته باشه!
    تا مجبور نشی به خاطر اينکه تو قلبش وارد بشی خودت را کوچک کنی!


    موفق كسی است كه با آجرهايی كه به طرفش پرتاب می شود، يک بنای محكم بسازد!
    اشکی که برای شکست می ریزیم، عرقی است که برای تلاش نریختیم!



  20. 4 کاربر مقابل از borhan_3010 عزیز به خاطر این پست مفید تشکر کرده اند.


صفحه 1 از 3 123 آخرینآخرین

علاقه مندی ها (بوک مارک ها)

علاقه مندی ها (بوک مارک ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

http://www.worldup.ir/