PDA

View Full Version : چگونه رفرنس ها رو بکنیم تو فایل exe



Farshid007
دوشنبه 27 شهریور 1391, 14:33 عصر
سلام؟
چگونه رفرنس ها رو بکنیم تو فایل exe؟

ehsan7007
دوشنبه 27 شهریور 1391, 14:38 عصر
پرتابلش کن.

ehsan7007
دوشنبه 27 شهریور 1391, 14:46 عصر
آموزش تصویری یکی کردن تمامی فایل های dll,xml,exe و...در فایل اجرایی برنامه (http://barnamenevis.org/showthread.php?358844-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1%DB%8C-%DB%8C%DA%A9%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AA%D9%85%D8%A7%D9%85%DB%8C-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7%DB%8C-dll-xml-exe-%D9%88...%D8%AF%D8%B1-%D9%81%D8%A7%DB%8C%D9%84-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&highlight=%D9%BE%D8%B1%D8%AA%D8%A7%D8%A8%D9%84)

abdullah20
دوشنبه 27 شهریور 1391, 14:55 عصر
با SmartAssembly

ehsan7007
دوشنبه 27 شهریور 1391, 14:57 عصر
SmartAssembly چیه؟ می شه در بارش یکم توضیح بدید؟

Farshid007
دوشنبه 27 شهریور 1391, 16:38 عصر
آموزش تصویری یکی کردن تمامی فایل های dll,xml,exe و...در فایل اجرایی برنامه (http://barnamenevis.org/showthread.php?358844-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1%DB%8C-%DB%8C%DA%A9%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AA%D9%85%D8%A7%D9%85%DB%8C-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7%DB%8C-dll-xml-exe-%D9%88...%D8%AF%D8%B1-%D9%81%D8%A7%DB%8C%D9%84-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&highlight=%D9%BE%D8%B1%D8%AA%D8%A7%D8%A8%D9%84)

ایده ی جالبیه!
اخه فایل هام فقط dll نبود!:لبخند:
ببینم واسه بالا اومدن باید Win Rar نصب باشه؟!!

Farshid007
دوشنبه 27 شهریور 1391, 16:41 عصر
آموزش تصویری یکی کردن تمامی فایل های dll,xml,exe و...در فایل اجرایی برنامه (http://barnamenevis.org/showthread.php?358844-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1%DB%8C-%DB%8C%DA%A9%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AA%D9%85%D8%A7%D9%85%DB%8C-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7%DB%8C-dll-xml-exe-%D9%88...%D8%AF%D8%B1-%D9%81%D8%A7%DB%8C%D9%84-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&highlight=%D9%BE%D8%B1%D8%AA%D8%A7%D8%A8%D9%84)
اونو باز می کنی چه اتفاقی می افته؟
فایل ها جایی extract می شن؟

Farshid007
دوشنبه 27 شهریور 1391, 16:43 عصر
فهمیدم فایل ها اول اکستراکت میشن
بعد از اینکه کار تموم شد پاک میشن درسته؟
اخه فایل دیتا بیس هم اطلاعاتش پاک میشه!

ehsan7007
دوشنبه 27 شهریور 1391, 17:22 عصر
خب اگر اونطوری باشه که به درد نمیخوره!
باید بگردیم دنبال یه روش درست و حسابی واسه پرتابل ساری!

ehsan7007
دوشنبه 27 شهریور 1391, 17:27 عصر
اصلا برنامه های ماکه کلا پرتابله!
شما بریز رو فلش بزن به کامپیوتر دیگه اجرا میشه!
مگه کی گفته پرتابل یعنی که همش یه فایل باشه؟! شما اگر از اینترنت برنامه ی پرتابل دانلود کنی، بیشترشون DLL هاشون کنارشونن!

abdullah20
دوشنبه 27 شهریور 1391, 18:25 عصر
اصلا برنامه های ماکه کلا پرتابله!
شما بریز رو فلش بزن به کامپیوتر دیگه اجرا میشه!
مگه کی گفته پرتابل یعنی که همش یه فایل باشه؟! شما اگر از اینترنت برنامه ی پرتابل دانلود کنی، بیشترشون DLL هاشون کنارشونن!

اگر قرار است که برنامه خود فایل نصبی درست کنیم که دیگه لازم نیست dllها را فایل اجرایی یکی کنیم
ولی اگر شما نرم افزاری را درست کردید و میخواید به صورت پرتابل ارائه بدید بهتر و قشنگتره که فقط یه فایل باشه و همه dllها و فایلها را با فایل اجرایی یکی کنیم
اکثر اون برنامه هایی که از اینترنت میگیرید در اصل به صورت پرتابل نیستند بانرم افزارهای مختلف به صورت پرتابل درشون میارن

ehsan7007
دوشنبه 27 شهریور 1391, 18:34 عصر
ممنون دوست من.
پرتابل در اصل قابل حمل بودن نرم افزار رو بیان میکنه و کاری به زیبایی نداره (البته ما داریم) ، و در مواردم حق با شماست ، ولی بحث مربوطه به یکه سازیه ، نه اینطوری که فایل ها اکسترکت و بعد حذف بشن!
اگه پرتابل یعنی قابل حمل ، که درسته ، ولی اون روشی که اون دوست عزیزمون به عنوان پرتابل سازی گذاشته کارایی زیادی نداره!
من خودم هم امتحان نکرده بودم تا اینکه فرشید عزیز گفت!

FastCode
دوشنبه 27 شهریور 1391, 18:41 عصر
اکسترکت و بعد حذف؟
یکم یه readonly بودن فکر کنید.
ممکنه حذف نشه.

ehsan7007
دوشنبه 27 شهریور 1391, 18:45 عصر
ممنون FastCode جان ، مقصود وجود و اجرا و بقاء بک فایله!
بدون اثری از فایل های دیگه !
من که نگفتم بیایم و اکسترکت و بعد هم حذف کنیم!

Farshid007
دوشنبه 27 شهریور 1391, 19:00 عصر
بی خیال دوستان من از همون Smart Assembly استفاده کردم
چیز خوبیه!

FastCode
دوشنبه 27 شهریور 1391, 19:22 عصر
http://msdn.microsoft.com/en-us/library/dhx0d524.aspx
http://msdn.microsoft.com/en-us/library/h538bck7.aspx

no comment

ببینم چند نفر هدف رو میفهمن.

Farshid007
سه شنبه 28 شهریور 1391, 10:26 صبح
من که نفهمیدم
یعنی می گی اول رفرنس هارو رو به Base64 انکود کنیم بعد اون هارو با اسمبلی لود کنیم؟
مگه میشه ؟:متعجب:

FastCode
سه شنبه 28 شهریور 1391, 16:18 عصر
من که نفهمیدم
یعنی می گی اول رفرنس هارو رو به Base64 انکود کنیم بعد اون هارو با اسمبلی لود کنیم؟
مگه میشه ؟:متعجب:
سلام
فهمیدی دیگه
آره.میشه.

barnamenevisjavan
سه شنبه 28 شهریور 1391, 16:53 عصر
خوب چرا از همین روش
http://barnamenevis.org/showthread.php?358844-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1%DB%8C-%DB%8C%DA%A9%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AA%D9%85%D8%A7%D9%85%DB%8C-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7%DB%8C-dll-xml-exe-%D9%88...%D8%AF%D8%B1-%D9%81%D8%A7%DB%8C%D9%84-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&highlight=%D9%BE%D8%B1%D8%AA%D8%A7%D8%A8%D9%84
استفاده نمیکنید.؟
کل فایل ها توی یه فایل جمع میشه وقتی هم اجراش میکنید دیگه اکسترکت نمیکنه از همون فایل های داخل پکیج اون فایلی رو که توی پرتابل ساختن تایین کردید اجرا میکنه من خودم تست کردم با دیتابیس اطلاعات داخلش کامل ذخیره میشه اگر میخوایید براتون یه فیلم دوباره قرار بدم!

danialafshari
سه شنبه 28 شهریور 1391, 17:43 عصر
خوب حتما اینم میدونید که NET. در حالت معمول این اجازرو نمیده که وقتی فایل نهایی Exe ساخته شد شما از اون بدون استفاده از فایل DLL تون استفاده کنید و اصرار داره که حتما هر دو تا فایل در کنار هم باشند.
خوب اما راه حل چیه!
مایکروسافت یک Tools ساخته به نام ILMerge که به صورت رایگانه ! با کمک اون شما بتونید DLL هاتون رو در داخل دل EXE تون ببرید و اصطلاحا Embed شون بفرمایید.
در ابتدا باید Tools ی رو که خدمتتون گفتم یعنی Ilmerge رو که به صورت رایگان! در سایت مایکروسافت هست رو Download بفرمایید
اینجا (http://www.microsoft.com/downloads/details.aspx?FamilyID=22914587-B4AD-4EAE-87CF-B14AE6A939B0&displaylang=en)
در آدرسی که دادم دکمه Download رو بزنید و Ilmerge رو Save بفرمایید.
خوب حالا نصبش بکنید و یک کپی از Ilmerge.exe نصب شده رو هم در داخل شاخه Winnt کپی کنید.
Command prompt رو باز کنید و این دستور را بنویسید
Ilmerge /out:NewName.exe PrjFile.exe DllFile.dll

NewName: اسم جدید فایل اجرایی برنامتون هست.

PrjFile: اسم فایل اجرایی برنامتون که دایرکتوری Bin قرار داره

DllFile.dll: اسم Dll محبوب شماست که قرار مال خود خودت باشه

موفق باشید

jblaox
یک شنبه 09 تیر 1392, 17:34 عصر
http://msdn.microsoft.com/en-us/library/dhx0d524.aspx
http://msdn.microsoft.com/en-us/library/h538bck7.aspx

no comment

ببینم چند نفر هدف رو میفهمن.

سلام گویا این Assembly.Load Method (Byte[]) برای وندوز 7 و 8 و Windows Server 2008 R2 جواب میده و روی XP جواب نمیده !!

امکان داره یک برنامه ساده با این شیوه قرار بدهید ؟ یا تیکه کدی چیزی

موفق باشید

mhsmity
یک شنبه 09 تیر 1392, 18:04 عصر
سلام.

اصلا ضرروت این کار چیه (همه رو یکی کنیم داخل یه فایل Exe) ؟ ؟ ؟ ؟ ؟ ؟
وقتی فایل اجرای دارای حجم کمتری باشد راحت تر و سریع تر در حافظه لود می شود. پس با توجه به این نکته چرا باید همه رو یکی کنیم؟

روش اول برای ادغام : بهتره تمام موراد رو خودمون به صورت دستی کدنویسی کنم و از dll های آماده استفاده نکنیم.
حالا اگه چند تا Dll آماده داشته باشیم :
بنده یه برنامه دیدم که کارش ادغام چند Dll به یک فایل Dll واحد هستش
با این نرم افزار چندتا فایل رو با هم مرجع می کنه ولی بلااخره یه فایل Dll آخر کار باقی می مونه.

FastCode
یک شنبه 09 تیر 1392, 22:03 عصر
یکیش اینه که برنامه هایی مثل lzma یا gzip نمیتونن چند تا فایل رو فشرده کنند.برای همین از مثلا tar استفاده میشه.یا اینکه صورت مسئله اینطوری حذف میشه.
دلیل زیاده.

ضرر هم داره.
مثلا یکیش اینکه تقریبا هیچ برنامه ای نمیتونه درست فایل ها رو deduplicate کنه.چون دیگه فایلی وجود نداره.