PDA

View Full Version : کم حجم کردن فایل اجرایی برنامه



Sharif Lotfi
جمعه 10 اسفند 1386, 19:47 عصر
من برنامه ای نوشتم که تبدیل DBF رو به Excel انجام میده بهمین خاطر وقتی میخوام Setup اجرایی برنامه رو درست کنم فایل اجرایی Excel و چند تا dll لازم دیگه به برنامه اضافه میشن که حجم فایل اجرایی رو خیلی بالا می بره .در حالیکه توی اینترنت همین برنامه رو دانلود کردم که فایل اجرایی حجمش 460KB هستش و همین کارها رو هم انجام میده . لطفا راهنمایی بفرمایین که این برنامه ها از چه روشی برای کم حجم کردن فایل EXE استفاده میکنن

__H2__
شنبه 11 اسفند 1386, 11:11 صبح
سلام
در مورد ملحقاتی که از جاهای دیگر آورده اید و به برنامه تان اضافه کرده اید زیاد نمیشود کاری کرد (جز آنکه تا حد ممکن تعدادشان را کم کنید و از آنها استفاده نکنید)

ولی در مورد dll یا exe ای که خودتان تولید کرده اید راههایی وجود دارد.
-اضافات را حذف کنید
-حتماً در مد Release کامپایل کنید
-از سوییچ های خاص کامپایلر و به صورت خط فرمانی کمک بگیرید.
-برای setup از فشرده سازی استفاده کنید. (که اغلب برنامه های کمکی setup ساز این کار را انجام میدهند)

حذف:
وارد VS شوید
در قسمت Solution Explorer دکمه Show All Files را کلیک کنید (روش کنید)
میبینید که همه Form های برنامه شما دارای یک سری فایل resx هستند که اگر در فرمتان تصویر خاصی و یا متن بلند بالایی استفاده نکرده باشید، آنها خالی هستند و میتوانید با راست کلیک حذفشان کنید.

روی resx ها دبل کلیک کنید و چک کنید اگر داخلشان خالی بود حذفشان کنید
(نگران آینده نباشید، به محض باز کردن فرم در VS و کوچکترین تغییر، این فایلها مجدداً ساخته میشوند!!!)

در پوشه Project هم بخش های Resource و Settings را در صورت عدم استفاده حذف کنید.

و....

و یک سری نکات ریز و درشت دیگر هم وجود دارد که کلاً شاید چند کیلو بایت باعث تغییر شوند که به حجم گفتنش نمی ارزد.

ولی اغلب مشکلات حجم ناشی از سورس کد نیست و مربوط به چیزهایی میشود که ما به برنامه اضافه میکنیم.
تصویرهای بزرگ و کوچک (حتی تصویر دکمه ها که بعضاً چند ده کیلو بایت حجم دارند)
فایلهای موسیقی که در برخی برنامه های (اغلب درپیت) استفاده میشوند و پخش میشوند...
یا خیلی از برنامه های درپیت، یک کارهای عجیبی میکنند که خدا میداند!!!!
بانک mdb را داخل exe جای میدهند!
یک exe را که اصل کار را انجام میدهد (و در اصل برنامه انها کشک است) برای متوجه نشدن دیگران داخل exe خود جای میدهند....
(خدایی ناکرده منظورم به شما نیست، کلی میگویم)

وگرنه سورس کد تکی در همین VB.Net را اغلب میشود به زیر 500 کیلو رساند.

Sharif Lotfi
دوشنبه 13 اسفند 1386, 15:49 عصر
سایتی چیزی هست که کتابخانه ها و یا سورسهای آماده بجز دات نت فریم ورک اونجا باشن که با استفاده از اون سورسها نیاز به dll ها و ... نداشته باشیم و حجم برنامه رو هم بشه کاهش داد ؟

mojtaba-saleh
دوشنبه 13 اسفند 1386, 20:01 عصر
فایل exe رو با یک برنامه پکر مثل NS paker پک کن حجم رو حدود 100 تا 150 کیلو کم میکنه

__H2__
سه شنبه 14 اسفند 1386, 09:58 صبح
سلام
سایتهای زیادی در ضمینه سورس کد وجود دارند، که البته من فقط آنهایی را که بویی از دات نت برده اند میشناسم و لینکهایشان را دارم... (!)
مثل نمونه های مرجع و بارز
codeproject.com
msdn2.microsoft.com
asp.net
و....

اگر در همین تالار جستجو کنید میتوانید لیست بلند بالایی پیدا کنید.
بعد هم اگر برنامه عادی باشد، داشتن dll اصلاً عیب نیست.
شما برنامه ای میسازید وآن را روی CD توزیع میکنید...
اغلب برنامه های زیر و درشت (شاید همه) dll دارند چه dll که خودشان ساخته باشند و چه از شرکت دیگری باشد..
یعنی حتی خود شما هم اگر قسمتی از کدهایتان را که احساس میکند در پروژه های دیگر بدردتان بخورد و یا در همان پروژه برای لایه بندی بهتر وظایف،میتوانید dll کنید.