۱۳۸۷/۱۱/۱۱

آموزش ساخت پرتابل - قسمت اول

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


در این سایت من هم نرم افزارهای پرتابل خودم رو میذارم و هم آموزش گام به گام ساختن اونها رو، چیزی که خیلی هام اگه بلد باشن به کسی نمیگن. چون من به شدت مخالف انحصار علم هستم. شما هم میتونید سوالات و پیشنهادات خودتون رو در قسمت نظرات بگید و یا به HDSoftco@Gmail.com میل بزنید که موجب دلگرمی من هم برای ادامه کارم خواهد شد.















Portable چیست؟

اگه این سوال رو از خیلی ها بپرسید در جوابتون میگن
نرم افزاری هست که بدون نصب بیاد بالا (یعنی اجرا بشه!)
اما منظور ما از پرتابل چیز خیلی کاملتریه و اینطور تعریفش میکنیم:

نرم افزار Portable، نرم افزاری هست که بدون نیاز به نصب اجرا میشود، بدون اشکال و مثل نسخه نصب شده کار میکند و در هنگام بسته شدن تمام تنظیمات جدید کاربر را در کنار خود ذخیره میکند و به هیچ عنوان چیزی بر روی سیستم عامل (اعم از فایل یا کد رجیستری) برجا نمیگذارند و نیز با نسخه نصب شده احتمالی همان نرم افزار تداخل (Conflict) نمیکند.

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


روش های پرتابل سازی

1- برنامه نویسی نرم افزار اولیه به شکل پرتابل، که نه کدی وارد رجیستر کنه و نه فایلی روی سیستم جا بذاره که البته کار خود برنامه نویس اولیشه. مثل نرم افزار uTorrent (البته در حالتی محتویات پوشه ی Application Data ی اون رو کنارش بذارید)

2-پرتابل کردن (Portablization) که بحث اصلی ماست و بعداً دربارش به تفصیل صخبت میکنیم.

3-مجازی سازی (Virtualization). حتماً شما هم اگه کمی دنبال پرتابل رفته باشید اسم نرم افزار Thinstall Virtualization Suite به گوشتون خورده ( که اسم جدیدش از نسخه 4 Vmware Thin App هست)، این نرم افزار میاد و برای Application شما یک محیط مجازی و ایزوله از سیستم عامل تعریف میکنه (که مقدار ایزله بودنشم دست شماست) و نرم افزار رو توی اون محیط اجرا میکنه، در این حالت Application شما یک نسخه رجیستری مجازی، System32 مجازی و خلاصه از تقریباً هر چی که بخواهید یکی مجازیشو داره و اونو تو یه پوشه به اسم Sandbox نگه میداره.
این روش هم برای بعضی موارد مناسبه ولی حتماً شنیدید که خیلیا میگن نصبی یه چیز دیگه هست!

ما هم باید با کد نویسی در NSIS (که بعداً خیلی باهاش کار داریم)کاری کنیم که پرتابلمون درست مثل نصب شدش خوب کار کنه اگه زیاد از اینترنت پرتابل دانلود کرده باشید حتماً تایید میکنید که پرتابل داریم تا پرتابل، و این برمیگرده به دقت و تلاش برنامه نویسی که اونو پرتابل کرده.

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