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

موضوع: ساخت نرم افزارهاي پرتابل به شيوه PortableApps.com با "PortableApps.com Launcher 2.2"

  1. #1
    مدیر انجمن کامپیوتر
    همديگر را دوست داشته باشيم و بهم احترام بگذاريم
    تاریخ عضویت
    Mar 2012
    محل سکونت
    زیر سایه شما
    نوشته ها
    801
    تشکر تشکر کرده 
    3,495
    تشکر تشکر شده 
    3,460
    تشکر شده در
    796 پست
    حالت من : ShadOsarhal
    قدرت امتیاز دهی
    13719
    Array

    ساخت نرم افزارهاي پرتابل به شيوه PortableApps.com با "PortableApps.com Launcher 2.2"

    سلام

    دوستان خوبم همونطور كه ميدونيد شيوه پرتابل سازي به روش PortableApps.com روشي كامل و متداول در پرتابل سازي برنامه‌ها هست

    سايت PortableApps.com براي اين منظور برنامه‌هاي كمكي در ساخت اينگونه پرتابل‌سازي ارايه داده كه PortableApps.com Launcher 2.2 يكي از اين نمونه‌هاست.

    PortableApps.comInstaller 3.05 و PortableApps.com Platform 12.0 Beta 1 نيز خدمات ديگري در همين راستا ارايه ميكنند.

    اما اينجا سوالم در مورد مراحل گام به گام ساخت برنامه پرتابل با PortableApps.com Launcher 2.2 كه انجام دادم ولي كامل اجرا نشد!

    حالا از علما سوال دارم كه چطوري ميتونيم از طريق اين روش يك برنامه‌اي كه احتياج به رجيست داره (در رجيستري تغييراتي اتفاق مي‌افته) پرتابل سازي كنيم؟

    كامل و گام به گام! به سايت ديگه ارجاع ندين چون ميدونم!

    سپاس
    دوستدار هميشگي شما "eDvArDo"

    7n1wj1mlvxoxejezfhye

    دلِ هر ايراني كه براي ايران نمي‌تپد، بهتراست نتپد! (پروفسور حسابي)

    آيا پاسخ سوالي را بدانم بهتر است، يا اينكه ندانسته از دنيا بروم؟! (ابوريحان بيروني)

    پس از سالها جهد و تلاش در كسب علم و معرفت، دانستم كه هيچ ندانستم! (علامه حسن زاده آملي)

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


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

    پیش فرض

    نقل قول نوشته اصلی توسط eDvArDo نمایش پست ها
    .......... در مورد مراحل گام به گام ساخت برنامه پرتابل با PortableApps.com Launcher 2.2 كه انجام دادم ولي كامل اجرا نشد........
    درود

    eDvArDo عزیز ، قبلا" در این مورد چه در سایت های خارجی و چه در سایت های فارسی توضیخ داده ام.

    یکی دو روز فرصت بده ، در اینجا هم روش کار را با مثال عملی و الگوی کار ، مجددا"شرح می دهم.

    فعلا" سعی کن آموزش های بنده را که چند سال قبل نوشته ام در لینک های زیر مطالعه کنی

    http://reboot.pro/topic/7460-portabl...portable-apps/

    http://reboot.pro/topic/5398-portabl...able-programs/

    لینک اول در مورد سوال شما و دومی عمومی است

    [SIGPIC][/SIGPIC]

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


  5. #3
    عضو سایت
    تاریخ عضویت
    Jan 2012
    نوشته ها
    228
    تشکر تشکر کرده 
    1,103
    تشکر تشکر شده 
    861
    تشکر شده در
    227 پست
    قدرت امتیاز دهی
    563
    Array

    پیش فرض

    سلام بر شما
    یادم میاد آقا برهان تو انجمن های پیشین در این باره آموزش دادن و بحث شده.
    وقتی انسان با تعمق و دید درست و بدون بزرگ و کوچک کردن مطالب
    با دنیای اطراف ارتباط برقرار کند
    موفق است.
    (
    مقصود شیرین زبان)

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


  7. #4
    مدیر انجمن کامپیوتر
    همديگر را دوست داشته باشيم و بهم احترام بگذاريم
    تاریخ عضویت
    Mar 2012
    محل سکونت
    زیر سایه شما
    نوشته ها
    801
    تشکر تشکر کرده 
    3,495
    تشکر تشکر شده 
    3,460
    تشکر شده در
    796 پست
    حالت من : ShadOsarhal
    قدرت امتیاز دهی
    13719
    Array

    پیش فرض

    سلام

    1- استفاده از Total Uninstall اجباريست؟ آيا از راههاي ديگر براي دريافت تغييرات رجيستري و يا ... وجود دارد؟

    2- آيا اين امكان وجود دارد كه ساخت پرتابلِ يك برنامه به اين روش كاملاً خودكار انجام شود؟ (چيزي شبيه پرتابل سازي با نرم‌افزارهاي Spoon و VMWare ThinApp )

    3- نقش "لانچرساز" سايت PortableApps.com فقط ايجاد فايل "راه‌انداز" برنامه هست؟ ساير كارا بايد بصورت دستي انجام شود؟

    سپاس
    ویرایش توسط eDvArDo : 06-05-2013 در ساعت 07:03 PM
    دوستدار هميشگي شما "eDvArDo"

    7n1wj1mlvxoxejezfhye

    دلِ هر ايراني كه براي ايران نمي‌تپد، بهتراست نتپد! (پروفسور حسابي)

    آيا پاسخ سوالي را بدانم بهتر است، يا اينكه ندانسته از دنيا بروم؟! (ابوريحان بيروني)

    پس از سالها جهد و تلاش در كسب علم و معرفت، دانستم كه هيچ ندانستم! (علامه حسن زاده آملي)

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


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

    پیش فرض

    درود
    استفاده از برنامه Total uninstall و برنامه های دیگری که بهمین منظور استفاده میشوند ، اکثر مواقع اجباری
    است چون ما باید بطریقی کلیه تغییرات حاصله را بدانیم.
    پیشنهاد میکنم که برنامه از نظر من بی نظیر Total uninstall را حتما" استفاده کنی.

    در کل شرکت PortableApps.com برنامه هایش را براساس برنامه NSIS انجام میدهد.(البته سه چهار شرکت
    دیگر هم برنامه های پرتابل می سازند که آن ها هم از NSIS استفاده میکنند).

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

    [SIGPIC][/SIGPIC]

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


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

    پیش فرض

    با توجه به گسترش روز افزون برنامه هاي مخرب مثل ويروس و تروجان و غيره ، بنظر ميرسد كه بايستي يك تدبير
    اساسي صورت بگيرد كه كاربران با كمترين امكان آلودگي روبرو بشوند.
    در اين رابطه ، مسئولان مربوطه بين المللي اقداماتي را شروع و در همين راستا گروه هاي تحقيق مختلفي بوجود
    آمد كه راههاي مقابله را مورد بررسي قرار بدهند.
    اعضاي اين گروههاي تخقيق منحصر به افراد بخصوص و يا كشور بخصوص نبودند. در انتخاب اعضا محدويت دين و
    رنگ پوست و كشور و غيره دخيل نبوده و تنها علاقه و توانائي افراد ملاك كار بود.

    چند سال قبل ، در همين رابطه ، از بنده نيز دعوت شد كه با يكي از اين گروههاي تحقيقي در رابطه با ويروس ها
    همكاري نمايم.
    مدت چند ماهي همكاري ها ادامه داشت و هر كدام تحقيقات و يا آزمايشاتي که در رابطه با مقابله با ويروس ها و
    برنامه هاي مخرب انجام ميداديم و نتيجه را به همديگر خبر ميداديم.
    تا اينكه بنا به درخواست تعدادي از كاربران هموطن ، تصميم گرفتم كه حتي الامكان در سايت هاي ايراني فعاليت
    كنم و تجربياتم را به كاربران هموطن ارايه كنم.( متاسفانه برخلاف سايت هاي خارجي كه همواره به بنده
    ارج نهاده و با قدرداني هاي مكررشان ترغيبم ميكردند كه بيشتر همكاري كنم .ورود به سايت هاي ايراني
    تا به امروز بيشتر برايم غصه و دلشكستگي به ارمغان آورده ........بگذريم).
    نهايت اينكه بعلت هجرت به سايت هاي وطني و پاره اي مشكلات ديگر ، شخصا" همكاري خود را با اين گروه
    تخقيق قطع كردم.
    منظورم از اين مقدمه نسبتا" طولاني اين بود در آن زمان آخرين نتايج بدست آمده اين بود كه بهترين راه براي
    به حداقل رساندن آلودگي به انواع برنامه هاي مخرب اين است كه كاربر كارش را در يك محيط مجازي حفاظت
    شده انجام دهد.

    شايد بگوئيد اين مسئله چه ربطي به برنامه هاي پرتابل دارد؟
    ولي دارد! چون برنامه هاي پرتابل اگر درست طراحي بشوند ، موقع اجرا در يك موقعيت موقتي كار كرده و
    موقع خاموش شدن ، تمام تغييرات موقت داده شده در سيستم كاربر به حالت قبلي برخواهد گشت.
    بنابر اين استفاده از برنامه هاي پرتابل استاندارد نقش زيادي در پائين آوردن احتمال خرابي و آلوده شدن
    سيستم دارد. توجه داشته باشيد كه بعضي از برنامه هاي پرتابل ميتوانند خود ويروس باشند. لذا سعي
    كنيد حتي الامكان خودتان برنامه هاي پرتابل مورد نيازتان را درست كنيد.

    در ادامه بحث روش ساخت برنامه هاي پرتابل با استفاده از NSIS را توضيح خواهم داد كه توسط شركت
    هاي مختلفي از جمله PortableApps.com استفاده ميشود.كه ما هم روش بكار گرفته شده با اين شركت
    را شرح خواهيم داد.

    تا بعد.

    [SIGPIC][/SIGPIC]

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


  13. #7
    مدیر انجمن کامپیوتر
    همديگر را دوست داشته باشيم و بهم احترام بگذاريم
    تاریخ عضویت
    Mar 2012
    محل سکونت
    زیر سایه شما
    نوشته ها
    801
    تشکر تشکر کرده 
    3,495
    تشکر تشکر شده 
    3,460
    تشکر شده در
    796 پست
    حالت من : ShadOsarhal
    قدرت امتیاز دهی
    13719
    Array

    پیش فرض

    سلام

    استاد جان، سلامت باشيد. خدا شمارو براي ما و خانواده محترمتان حفظ كند.

    بشدت مشتاق آموزش روان - زيبا و البته كارا و كمياب شما هستيم.

    فقط يك پيشنهاد دارم: اينكه همه دوستان و علاقمندان، مثالي عملي (مثل همون تاپيك سابق ساخت نرم‌افزارهاي كوچك و برنامه نويسي ++c) داشته و گزارش نمايند.

    سپاس استاد
    دوستدار هميشگي شما "eDvArDo"

    7n1wj1mlvxoxejezfhye

    دلِ هر ايراني كه براي ايران نمي‌تپد، بهتراست نتپد! (پروفسور حسابي)

    آيا پاسخ سوالي را بدانم بهتر است، يا اينكه ندانسته از دنيا بروم؟! (ابوريحان بيروني)

    پس از سالها جهد و تلاش در كسب علم و معرفت، دانستم كه هيچ ندانستم! (علامه حسن زاده آملي)

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


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

    پیش فرض

    درود

    قبل از اينكه مبحث اصلي را شروع كنم لازم ميدانم كه چند نكته ضروري را عرض كنم:
    دوستان،هر نرم افزاری که در کامپیوترمان نصب میکنیم ، تغییراتی در سیستم ما ایجاد میکند.ولی نوع
    تغییرات بسته به نوع نرم افزار فرق میکند و دانستن این تغییرات برای ساختن برنامه های پرتابل، بالاترین
    اهمیت را دارد.
    نرم افزار ها موقع نصب چند نوع مختلف عمل ميكنند:
    یک سری از نرم افزار ها موقع نصب فقط تعدادي پوشه و فايل به سيستم ما اضافه ميكنندو دیگر هیچ تغییر
    مهمی در رجستری و جا های دیگر انجام نمیدهند.اینگونه نرم افزار ها را که معمولا" نرم افزار های رایگان
    هستند، به راحتی میتوان پرتابل کرد.

    در مقابل برنامه هایی هستند که نه تنها فايل ها و پوشه هایی در قسمت های مختلف سیستم درست
    ميكنند بلكه تنظیمات متفاوتی هم به رجستری سیستم اضافه میکنند که این تنظیمات لازمه کار آن ها
    میباشد.

    دسته سوم نرم افزار هائي هستند كه نه تنها اعمال بالا را انجام میدهند بلکه تغییرات دیگری هم در سیستم
    بوجود می آورند. مثلا" بعضی از فایل های سیستم را دیلیت کرده و فایل های خود را بجای آن ها قرار میدهند.
    يا بعضی از تنظیمات رجستری را دیلیت و يا عوض مینمایند.و تعييرات ديگر.

    آخرين دسته نرم افزار ها كه اكثريت نرم افزار هاي تجاري را تشكيل ميدهند و ما بيشتر با اين گروه سر و كار
    داريم ، آن هائي هستند كه ضمن انجام تمام كار هاي بالا ، تغييرات وي‍‍ژه و مخفي اي در سيستم ايجاد ميكنند
    كه خيلي از مواقع پيدا كردن اين تغييرات زمانبر بوده و يا حتي گاهي غير ممكن ميشود.

    براي مثال براي اجراي برنامه اي لازم است كه ما آن را با دادن كد و سريال ، اكتيو كنيم. وقتي ما كد يا سريال
    يك برنامه را براي اكتيو كردنش وارد ميكنيم، برنامه آن را از ما گرفته و بصورت ويژه اي از ديد ما مخفي ميكند.
    بعد از اين هر وقت اين برنامه را اجرا ميكنيم ، برنامه اول به محليكه كد را مخفي كرده مراجعه ميكند و اگر كد
    موجود بود ، كامل اجرا شده و گرنه دوباره از ما خواهد خواست كه كد را وارد كنيم.

    بعضي از برنامه ها كد وارد شده را عينا" در رجستري ذخيره ميكنند.
    بعضي ديگر كد گرفته شده را بصورت بخصوصي تغيير داده و كد تغيير يافته را در رجستري ذخيره ميكنند.
    بعضي برنامه ها كد گرفته شده را در يك فايل با نام ويژه اي ذخيره كرده و اين فايل را در داخل پوشه هاي
    خود برنامه قرار ميدهند.براي مثال ورژن هاي فعلي برنامه WinRAR کد گرفته شده را با نام rarreg.key
    در داخل يكي از پوشه هاي خودش ذخيره و نگهداري ميكند.

    يافتن محل و فايل ذخيره شده در سه مورد بالا تقريبا" راحت است.
    مشكل آن جا پيش مي آيد كه بعضي برنامه ها كد گرفته شده را نه در رجستري ذخيره ميكنند و نه بصورت
    يك فايل با نام ويژه داخل پوشه هاي خود قرار ميدهند.
    براي مثال عين كدي را كه از ما ميگيرند بصورت يك فايل در جائي از سيستم مثلا" پوشه System32 قرار داده
    و براي اينكه كاربر را گمراه كنند به اين فايل متني نامي شبيه نام هاي سيستمي ويندور و پسوندي مثل
    DLL ، OCX و غيره مي نهند.

    بهر جهت كسي كه ميخواهد برنامه پرتابل بسازد ، اجبارا" بايستي بتواند اين اطلاعات را پيدا نمايد.

    بنده در اين آموزش فرض را بر اين قرار ميدهم كه كاربر ميتواند تمام تغييرات موجود را شناسائي كند. چون
    اگر بخواهم اين مسائل را هم توضيح دهم زمان بسيار زيادي صرف شده و آموزش براي خيلي ها خسته
    كننده خواهد شد. و در كل اصلا" اين امور مربوط به عنوان اين تاپيك هم نيستند.

    اما شروع بحث اصلي:
    ---------------------------
    ما ميخواهيم يك Pack (مجموعه نرم افزاري) درست كنيم كه داراي چندين برنامه پرتابل بوده و داراي فايل
    مخصوصي هست كه با اجراي آن منوئي ظاهر ميشود كه نام برنامه هاي پرتابل موجود در اين بسته را
    نشان ميدهد و ما روي هر اسمي كليك كنيم ، برنامه مربوطه اجرا ميشود.

    براي اينكه بحث زياد طولاني نشود ، من ساخت اين مجموعه را فقط با دو تا برنامه شرح خواهم داد ولي شما
    ميتوانيد ، دقيقا" همين مواردي كه گفته خواهد شد را تكرار كرده و برنامه هاي مورد علاقه خود را در اين بسته
    نرم افزاري قرار دهيد.

    بنده در جلسه بعد چگونگي پرتابل كردن برنامه هاي Starter و WinRAR را توضيح خواهم داد.

    در ضمن ، من در لينك زير برنامه WinRAR 5.00 Beta 5 را قرار داده ام. اين برنامه را طوري تنظيم كرده ام كه
    پس از اجرا ، در عرض چند ثانيه برنامه بصورت مخفي هم نصب شده و هم اكتيو گردد.

    http://www.mediafire.com/download/9l...4u/MCS50b5.rar

    [SIGPIC][/SIGPIC]

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


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

    پیش فرض

    درود

    دوستان براي اينكه بتوانيم برنامه ها را بطريق PortableApps.com پرتابل كنيم بايستي سه كار را بترتيب
    انجام دهيم :
    1. فايل هائيكه براي پرتابل كار كردن برنامه لازم است تهيه گردد.
    2. براي هر برنامه تعداد چهار عدد پوشه با شرح زير درست شود:

    _ پوشه اي با نام خود برنامه . فرضا" اگر ميخواهيم برنامه WinRAR را پرتابل كنيم نام اين پوشه را WinRAR
    تعيين مي كنيم.
    _ سه تا پوشه با نام های Appdata و portable و Source كه بايد داخل پوشه بالا قرار داده شوند.

    توضيحا" عرض كنم كه بعدا" در اين پوشه ها فايل هاي زير را خواهيم گذاشت:

    __ در پوشه Appdata ، فایل های لازم برای اجرای برنامه گذاشته مي شوند.
    __ در پوشه portable ، فایل های رجستری و يا نظائر آن كه براي اجراي برنامه لازمند ، قرار داده ميشوند.
    __ در پوشه Source ، فایل کد برنامه NSIS و یک آیکن برای برنامه گذاشته ميشود.که برنامه NSIS از این
    کد و آیکن برای ساخت فایل اجرایی هر برنامه پرتابل استفاده خواهد کرد.

    3. بعد از اينكه مراحل بالا انجام شد بايد همه برنامه ها را به يك pack نرم افزاري تبديل كنيم.
    حالا برويم سراغ پرتابل كردن اولين برنامه.

    اولين برنامه اي كه ميخواهيم پرتابل كنيم Starter نام دارد . اين برنامه كه يكي از نرم افزار هاي مورد علاقه
    من است ، ليست برنامه هاي در حال اجرا و ليست برنامه هائي را كه در حين Logon اجرا ميشوند و نيز
    چند مشخصه ديگر از سيستم را با شروح مربوطه مشخص كرده و اجازه دستكاري هم مي دهد.
    برنامه را در لينك زير آپلود كردم كه ميتوانيد دانلود فرمائيد.
    http://www.mediafire.com/download/yt...16/Starter.rar

    پرتابل كردن اين برنامه هيچ زحمتي ندارد. چون اين فايل ذاتا" توسط سازنده پرتابل ساخته شده. يعني اگر
    روي اين فايل دابل كليك كنيد كار خواهد كرد.اجراي اين برنامه هيچ چيزي را به سيستم اضافه نكرده و هيچ
    تغييري هم در سيستم ايجاد نميكند. يعني يك برنامه ايده آل براي استفاده و پرتابل كردن است

    در كل اين برنامه نياز به پرتابل كردن ندارد ولي چون ما ميخواهيم يك Pack نرم افزاري بسازيم كه اين برنامه
    هم عضوي از آن هست لذا بايد اعمال زير را انجام داد:

    1. گفتم كه براي هر برنامه پرتابل بايد چهار تا پوشه بسازيم.بنابر اين برابر شرح داده شده اول پوشه اي بنام
    خود برنامه پرتابل (Starter ) ساخته و بعد سه تا پوشه بنام هاي Appdata و portable و Source داخل آن
    درست مي كنيم.
    2. داخل پوشه Appdata بايد فايل هاي لازم برنامه پرتابل را قرار دهيم كه دز اين مثال ما فقط فايل Starter
    را داريم لذا فايل Starter.exe را داخل اين پوشه قرار مي دهيم.
    3. گفتيم كه در داخل پوشه portable ، فایل های رجستری و يا نظائر آن كه براي اجراي برنامه لازمند ، قرار
    داده ميشوند. ولي اين برنامه براي كار كردن، نياز به هيچ تغييري در رجستري يا سيستم ندارد. لذا اين پوشه
    را براي اين برنامه خالي مي گذاريم.
    4.توضيح دادم كه در پوشه Source ، فایل کد برنامه NSIS و یک آیکن برای برنامه گذاشته ميشود. لذا اول يك
    آيكن براي برنامه Starter.exe تهيه كرده و نام آن را دقيقا" به نام برنامه تغيير داده (در اين مثال Starter.ico)
    و آن را داخل پوشه Source مي گذاريم حال بايد فايل کد برنامه NSIS را براي اين برنامه تهيه كرده و آن را
    هم داخل اين پوشه قرار دهيم.كه بشرح زير كد برنامه را مي نويسيم.

    من در اينجا شكلي از كد را قرار ميدهم كه عمومي است يعني شما ميتوانيد دقيقا" همين كد را بعنوان الگو
    تقريبا" در اكثر برنامه هايتان فقط با تغيير نام ها بكار ببريد:

    کد HTML:
    !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\xxx.exe"
    
    ;Cleaning up when we close the application
    
        ${registry::RestoreKey} "$EXEDIR\portable\RegClean.reg" $R0
        
    
    SectionEnd
    كد هاي بالا را در notepad تايپ كرده و سپس آن را با نام general.nsi جائي نگهداري كنيد.شرح سطور اين
    كد را در ادامه بحث توضيح خواهم داد.

    حالا يك كپي از اين فايل را داخل پوشه Source در كنار Starter.ico قرار دهيد.
    نام اين فايل general.nsi را به Starter.nsi تغيير دهيد.
    فايلStarter.nsi را با notepad باز كرده و تغييرات زير را در آن اعمال نمائيد:

    __ بجاي عبارت XXX در سطر اول كد ، بايد نام برنامه را بنويسيم لذا در اين جا عبارت XXX را به Starter
    تغيير دهيد.
    __ در سطور كد پائين برويد تا به قسمت Section "Main برسيد.اگر به اين قسمت توجه كنيد مي بينيد كه
    بعد از عبارت Section "Main چند سطر كد نوشته شده و بعد عبارت SectionEnd وجود دارد.

    برنامه NSIS وقتي به قسمتSection "Main برسد دستورات مابين اين عبارت تا عبارت SectionEnd را
    بترتيب و سطر به سطر اجرا خواهد كرد.
    در كدي كه بعد از قسمتSection "Main مي بينيد سطر اول كه با علامت ; شده يك توضيح است و
    كاري انجام نميدهد. سطر بعدي دستوري است كه يك فايل رجستري بنام AAA.reg را اجرا كرده تنظيمات
    سيستم را عوض ميكند. و سطر بعدي دستور باعث مي شود كه برنامه بعد از اجراي فايل رجستري مدت
    300 ميلي ثانيه ساكت بماند و هيچ كاري نكند.

    خوب ، گفتيم كه برنامه ما در اينجا (Starter.exe) نياز به اعمال هيچگونه تغييري براي اجرا ندارد. لذا ما نيازي
    به سه سطري كه كارشان را در بالا توضيح دادم ندارد. بنابراين اين سه سطر را از داخل فايل Starter.nsi
    حذف ميكنيم.
    سطر بعدي كد كه با علامت ; شروع شده فقط يك توضيح است و نيازي به آن نداريم پس اين سطر را هم
    پاك مي كنيم.
    سطر بعدي دستور بايد فايل مورد نظر ما را ( يعني Starter.exe ) را اجرا كند لذا در اين سطر بجاي عبارت
    xxx.exe عبارت Starter.exe را مي نويسيم. اين دستور باعث خواهد شد كه برنامه فايل Starter.exe را اجرا
    كرده و بعد منتظر اين باشد كه ما برنامه را خاموش كنيم.
    سطر بعدي كد كه با علامت ; شروع شده يك توضيح است كه نيازي به آن نداريم
    سطر بعدي دستور زماني اجرا ميشود كه ما فايل Starter.exe را خاموش كنيم. بمحض خاموش كردن ،برنامه
    در اين سطر فايل رجستري بنام RegClean.reg را اجرا خواهد كرد.
    ما براي برنامه Starter چون هيچ تغييري در سيستم لازم ندارد، اين سطور بعدي را هم نياز نداريم و آن ها را
    هم پاك ميكنيم ولي چون ممكن است مطلب مقداري گيج كننده شده باشد به شرح زير توجه كنيد.

    ما داريم فايل پرتابلي را درست ميكنيم كه ميخواهيم استاندارد باشد.با اين كد ها در قسمتSection "Main"
    اول تغييرات رجستري مورد نياز اجراي برنامه را فرستاده يعني تنظيمات رجستري سيستم را تغيير مي دهيم.
    سپس فايلمان را اجرا مي كنيم ولي به برنامه ميگوئيم منتظر باش و بمحض خاموش شدن ، تغييراتي را كه
    در اول كار داديم پاك كن

    بهر حال براي برنامه مورد بحث فايل Starter.nsi در حال حاضر به صورت زير در آمده است كه ذخيره ميكنيم.

    کد HTML:
    !define SNAME "Starter"
    !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"
    
        ExecWait "$EXEDIR\Appdata\Starter.exe"
    
    SectionEnd
    ادامه بحث در جلسه بعدي.

    [SIGPIC][/SIGPIC]

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


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

    پیش فرض

    درود

    نکته ای را در جلسه قبل در رابطه با فایل Starter.nsi فراموش کردم بگویم و آن این است که چون فایل ما
    (Starter.exe ) تغییراتی در رجستری ایجاد نمیکند لذا نیازی به سطر دوم این فایل هم نداریم لذا سطر دوم
    یعنی (!include "Registry.nsh) را هم نیازی نداشته و لذا پاک میکنیم.

    حالا روی فایل Starter.nsi کلیک راست کرده و گرینه Compile NSIS script را انتخاب میکنیم. بعد از چند لحظه
    فایلی بنام Starter.exe در پوشه Starter درست خواهد شد که اگر اجرایش کنیم فایل Starter.exe موجود
    در پوشه Appdata را اجرا خواهد کرد.

    فعلا" کارمان با برنامه Starter.exe تمام شده و فقط باید آن را به Pack مورد نظر اضافه کنیم.لذا در این مرحله
    پوشه Starter را کنار گذاشته و سراغ پرتابل کردن برنامه WinRAR میرویم و در انتها چگونگی Pack کردن را
    توضیح خواهم داد.
    ================

    من برای این بحث ، پرتابل کردن برنامه WinRAR 5.00 Beta 5 را در نظر گرفته ام.
    در رابطه با برنامه WinRAR لازم است که فقط نکات زیر را در رابطه با نیازمان در این مبحث بدانید:

    __ وقتی این برنامه را نصب میکنیم فایل هایش در پوشه ای بنام WinRAR (داخل پوشه Program Files)
    قرار میگیرند.
    __ هنگام نصب این برنامه تنظیمات زیادی در رجستری سیستم ایجاد میشوند ولی این مسئله در رابطه
    با برنامه WinRAR مهم نیست چون این برنامه هر وقت اجرا شود اگر تنظیمات موجود نباشند مجددا" درست
    خواهد کرد. لذا نیازی نیست که از فایل رجستری برای این برنامه استفاده کنیم.
    __ این برنامه در هر زمان که اجرا میشود دنبال فایل بخصوصی میگردد که اگر این فایل موجود باشد کامل کار
    میکند و اگر نباشد، درخواست کد برای اکتیو شدن خواهد کرد.
    تا جائیکه یادم می آید از ورژن 8 .3 ببعد این برنامه ،وقتی ما کد این نرم افزار را وارد میکنیم ، آن را معمولا"
    با نام RARREG.KEY داخل یکی از پوشه هایش نگهداری میکند.
    بنابراین موقع ساخت نوع پرتابل ، ما باید بتوانیم کاری کنیم که قبل از اجرای برنامه این فایل در محل مربوطه
    موجود باشد.که چگونگی این کار را توضیح خواهم داد.
    __ آخرین نکته ای که باید بدانید این است که این برنامه هم یک جور هائی پرتابل هست. بدین گونه که اگر
    شما پوشه WinRAR (داخل پوشه Program Files) را کپی کرده و به کامپیوتر دیگری ببرید و بعد فایل
    WinRAR.exe را از داخلش اجرا کنید ، کار خواهد کرد

    حالا که این مشخصات را می دانیم بصورت زیر عمل میکنیم.

    1. پوشه ای بنام WinRAR درست کنید.
    2. سه تا پوشه بنام هاي Appdata و portable و Source داخل پوشه WinRAR درست كنيد.
    3. فایل WinRAR 5.00 Beta 5 را که در پست شماره 8 لینکش را قرار دادم دانلود و نصب کنید.من این آموزش
    را بر اساس همین نمونه توضیح میدهم و اگر نوع دیگری استفاده کنید ، با روشی که توضیح خواهم داد اکتیو
    نخواهد شد.
    4. به دایرکتوری نصب وارد شده و محتویات پوشه نصب شده WinRAR را داخل پوشه ساخته شده Appdata
    کپی کنید.

    5. در جلسه قبل توضیح دادم که باید داخل پوشه ساخته شده portable فایل های مورد نیاز برای اجرای
    صحیح برنامه را قرار دهیم.
    برنامه WinRAR پرتابل برای اجرای صحیح نیاز به دو چیز دارد. اول اینکه قبل از اجرای آن باید کاری کنیم که
    برنامه اکتیو شده باشد. یعنی باید کاری کنیم که اول فایل اکتیو کننده در محل لازم قرار گیرد و سپس خود
    برنامه اجرا شود. دوم اینکه چون در این مرحله تغییری در سیستم ایجاد می کنیم باید کاری کنیم که پس از
    خاموش کردن برنامه ، بطور اتوماتیک تغییری که دادیم پاک شود.
    برنامه WinRAR 5.00 Beta 5 که آموزش بر اساس آن هست برخلاف تمام WinRAR های دیگر عمل میکند.
    تمام WinRAR های دیگر موقع اجرا دنبال فایلی بنام RARREG.KEY میگردند ولی این یکی را من طوری کرک
    کرده ام که عوض فایل RARREG.KEY دنبال فایلی بنام Shirin میگردد!
    لذا ما باید کاری بکنیم که قبل از اجرای برنامه اول فایل Shirin به داخل پوشه ای بنام WinRAR در داخل
    پوشه Application Data ( در پروفایل کاربر ) کپی شود.
    من برای اینکار فایلی بنام activate.exe ساختم که همین کار را میکند. پس شما هم باید فایلی مشابه آن
    ساخته و سپس آن فایل را داخل پوشه ساخته شده portable بگذاریم.

    6. حال یک آیکن برای برنامه پرتابلتان تهیه کرده و آن را با نام WinRAR.ico داخل پوشه Source قرار دهید.
    7. فایل general.nsi را که در جلسه قبل درست کردید را به WinRAR.nsi تغییر نام داده و آن را هم داخل
    پوشه Source قرار دهید.
    8. فایل WinRAR.nsi را با notepad باز کرده و تغییرات زیر را در آن اعمال کنید:
    __ در سطر اول بجای عبارت XXX نام برنامه یعنیWinRAR را قرار می دهیم.
    __ چون در این مثال از تغییرات رجستری استفاده نکردیم لذا نیازی به سطر دوم نداشته و لذا این سطر را
    پاک میکنیم.
    __ در سطر بعد از Section "Main چون از تعییرات رجستری استفاده نمیکنیم ، لذا سه سطر مربوطه را حذف
    کرده و بجایش دستور زیر را می نویسیم:
    کد HTML:
    ExecWait "$EXEDIR\portable\activate.exe"
    این دستور باعث میشود که فایل کرک ما بجای مربوطه کپی شود

    9.در سطر بعدی کد چون فایل اجرائی ما ، فایل WinRAR.exe (داخل پوشه Appdata) است لذا بجای
    xxx.exe نام فایل اجرائی یعنی WinRAR.exe را می نویسیم.
    این دستور باعث خواهد شد که برنامه فایل WinRAR.exe را اجرا کرده و و منتظر بماند که ببیند چه زمانی
    خاموش میشود.

    10. دو سطر بعدی مربوط به رجستری هستند که لازم نداریم لذا آن را پاک کرده و بجایش دستورات زیر را
    قرار میدهیم:
    کد HTML:
        Delete $APPDATA\WinRAR\shirin
        Delete $APPDATA\WinRAR\version.dat
        RMDir  $APPDATA\WinRAR\    
    این دستورات تغییراتی را که اجرای فایل پرتابل در سیستم ایجاد کرده پاک خواهد کرد.
    اکنون فایل WinRAR.nsi بصورت زیر درآمده است:
    کد HTML:
    !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"
        ExecWait "$EXEDIR\portable\activate.exe"
    
        ExecWait "$EXEDIR\Appdata\WinRAR.exe"
    
    ;Cleaning up when we close the application
    
        Delete $APPDATA\WinRAR\shirin
        Delete $APPDATA\WinRAR\version.dat
        RMDir  $APPDATA\WinRAR\    
    
    SectionEnd
    حالا روی فایل WinRAR.nsi کلیک راست کرده و گرینه Compile NSIS script را انتخاب میکنیم. بعد از چند
    لحظه فایلی بنام WinRAR.exe در پوشه WinRAR درست خواهد شد که اگر اجرایش کنیم فایل WinRAR.exe
    موجود در پوشه Appdata را اجرا خواهد کرد.

    کارمان با برنامه WinRAR.exe تمام شد.
    حال دو تا پوشه با نام های WinRAR و Starter داریم که آماده Pack کردن هستند.

    در جلسه بعد مبحث را تمام خواهیم کرد.

    توضیح:
    --------

    کل کار های انجام شده در طول این مبحث و فایل آماده مصرف را کلا" جهت استفاده علاقمندان در لینک زیر آپلود کردم:

    http://www.mediafire.com/download/v9..._Portables.rar

    [SIGPIC][/SIGPIC]

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


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

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

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

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

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

http://www.worldup.ir/