PDA

View Full Version : ساخت فايل اجرايي يك Application بدون وابستگي به DLL و OCX



A.Farzin
سه شنبه 25 فروردین 1388, 19:18 عصر
با سلام
آيا در #C ممكن است كه يك Application نوشت به طوريكه وقتي از آن فايل اجرايي درست كرديم، اين فايل اجرايي هيچگونه وابستگي به DLLها، OCXها و امثالهم نداشته باشد.
شايان ذكر است منظورم حالتي نيست كه اصلاً از اين كنترلها در پروژه استفاده نشده و تمامي كدها را بنويسيم. بلكه اين خواسته در زمانيست كه از كنترلهاي استاندارد محيط Visual Studio و حتي كنترلهاي ساخته شده ديگر هم استفاده شده باشد.
ممنونم

jalalx
چهارشنبه 26 فروردین 1388, 08:19 صبح
نه! من كه فكر نمي كنم اين ممكن باشه!

debugger
چهارشنبه 26 فروردین 1388, 10:44 صبح
اگر بشه نرم افزار مورد نظر را به صورت Portable در آورد ميشه . من تا به حال نديدم برنامه هايي كه تحت دات نت نوشته مي شوند نسخه Protable داشته باشند. اگر مشكل فريم ورك حل شود ميشه . كه اونم اصلا و ابدا حل بشود

h.jaza
چهارشنبه 26 فروردین 1388, 15:22 عصر
آيا در #C ممكن است كه يك Application نوشت به طوريكه وقتي از آن فايل اجرايي درست كرديم، اين فايل اجرايي هيچگونه وابستگي به DLLها، OCXها و امثالهم نداشته باشد.
در هر پروژه ای، مسلما ما از یک سری کنترل ها استفاده می کنیم (چه دات نتی و چه غیره). حالا سوال می پرسم: مثلا این کنترل باتم چه جوری تونسته به این شکل توی پنجره ی دیزاین شما به نمایش در بیاد؟ جواب: مسلما یه سری DLL بودن (کلی خط کد) که در نتیجه ی اونها ما تونستیم حتی بدون نوشتن یه خط کد، همچین ترکیبی رو به پروژمون، اضافه کنیم.

پس به طور مشابه این حرف رو برای تمامی کنترل های استفاده شده در پروژه، می زنیم.
و در نهایت، به این نتیجه می رسیم که برای اینکه پروژه ای که ما درست کردیم، صحیح کار بده و تمامی کنترل های موجود رو به درستی به نمایش بگذاره، می بایست کلیه DLL هایی که از اونها استفاده کردیم، همراهمون باشه؛ یعنی اون کنترل ها، به این DLL ها وابستگی 100 درصد دارن.

حالا کافیه پس ما بیاییم و تشخیص بدیم که از چه DLL هایی در پروژمون استفاده کردیم. از اونجایی که این کاره دشواریه، نرم افزار هایی اساسا برای این کار نوشته شدن مثل Install Shield و غیره.

همچنین، برای Portable شدن برنامه هم، همچنان به همون فایل ها نیاز هست و باز هم در اینجا شرکت هایی اومدن و زحمت این کار رو هم برای ما کشیدن مثل VMware با نرم افزار ThinApp که برای ساخت برنامه های پورتابل هستش.