PDA

View Full Version : سوال: اجرای فایل exe‌بدون نیاز به نصب framework



dr.pantagon
شنبه 14 خرداد 1390, 01:01 صبح
سلام دوستان

لطفا یکی کمک کنه بگه چه جوری می شه توی visual2010 ‌وقتی فایل رو کامپایل میکنی جوری کامپایل کنی که وقتی می بری روی یک سیستم دیگه نیاز به نصب framework نداشته باشه یادم هست قبلا آپشن داشت برای این کار ولی الان هری چی می گردم پیدا نمی کنم
کل برنامه از API‌ اشتفاده شده و هیچ فایلی ادد یا اضافه نشده

با تشکر

bnnoor
شنبه 14 خرداد 1390, 07:03 صبح
اگه برنامتون رو با دات نت نوشته باشید فکر نمیکنم همچین امکانی وجود داشته باشه میتونید تنظیم کنید فریم ورک مورد نیاز همراه با ستاپ قرار بگیره و با اون نصب بشه

imanamami
شنبه 14 خرداد 1390, 09:18 صبح
سلام دوست عزیز
از قسمت Project->ProjectSetting->Application رو انتخاب کنید.در آنجا می توانید فرم ورک مورد نظر خودرا انتخاب کنید.

موفق باشید

Parham.D
شنبه 14 خرداد 1390, 11:02 صبح
سلام دوست عزیز
از قسمت Project->ProjectSetting->Application رو انتخاب کنید.در آنجا می توانید فرم ورک مورد نظر خودرا انتخاب کنید.

موفق باشید

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

علیرضا حسن زاده
شنبه 14 خرداد 1390, 11:15 صبح
از برنامه xenocode می تونید برای اسن منظور استفاده کنید
البته اگه جستجو کنید تاپیک های زیادی در این مورد ایجاد شده و جواب هم گرفتن

bnnoor
شنبه 14 خرداد 1390, 11:19 صبح
سلام دوست عزیز
از قسمت Project->ProjectSetting->Application رو انتخاب کنید.در آنجا می توانید فرم ورک مورد نظر خودرا انتخاب کنید.

موفق باشید

دوست عزیز وقتی شما پروژه ای رو روی دات نت می نویسید یعنی اینکه برای اجرای اون رو هر سیستمی به چارچوب دات نت محتاجید ( مثل اینکه برای اجرای بازی به directx نیاز داشته باشید ) من در این مورد جستجو زیاد کردم که فایده ای نداشته شما روی هر سیستمی که میخواید برنامتون اجرا بشه به همون فریم ورک هم نیاز دارید که نصب بشه یا میتونید فایلهای فریم ورک رو توی پوشه خود برنامه بزارید تا خود به خود نصب بشه ( خود ویزوال این امکان رو داره ) یا اینکه dll های مورد نیاز همراه با ستاپ قرار بدید که باز هم حجم ستاپ بدست اومده تفاوت چندانی با دو برنامه مجزا نداره

bnnoor
شنبه 14 خرداد 1390, 11:24 صبح
از برنامه xenocode می تونید برای اسن منظور استفاده کنید
البته اگه جستجو کنید تاپیک های زیادی در این مورد ایجاد شده و جواب هم گرفتن

فعلا بهترین ورژن این برنامه نسخه 2007 اون هست که کرک شده و همراه با ویژوال 2010 بخوبی کار میکنه ولی توجه داشته باشید این برنامه نسخه برنامه نوشته شده شما رو بعد از نصب انالیز میکنه تا تمام فایلهای مورد نیاز رو بدست بیاره و در یک ستاپ قرار بده ولی اکثر مواقع متاسفانه فایل خروجی مشکل داره ( قابل نصب نیست و یا بعد از نصب درست کار نمیکنه ) البته بهتره در مورد این برنامه جستجو کنید شاید به حایی رسیدید

Alirezanet
دوشنبه 16 خرداد 1390, 01:20 صبح
با Vb6 بنویسید خوب .... !!!!

bnnoor
دوشنبه 16 خرداد 1390, 09:26 صبح
با Vb6 بنویسید خوب .... !!!!

مطمئنید vb6 کارآیی دات نت رو داره؟ پیشنهاد من اینه اگر با دات نت خیلی مشکل دارید بهتره vc++ رو یا بگیرید.

Alirezanet
دوشنبه 16 خرداد 1390, 12:56 عصر
مطمئنید vb6 کارآیی دات نت رو داره؟ پیشنهاد من اینه اگر با دات نت خیلی مشکل دارید بهتره vc++ رو یا بگیرید.

گقته بودند که همه برنامه داره از API ها استفاده میشه ... من با Vb6 کاملا با API ها کار کردم و مشکلی نداشت !

محمد باقری نسب
دوشنبه 16 خرداد 1390, 13:01 عصر
آخه بابا جان چه ربطی داره! :متعجب: طرف مشکلش اینه که نصب دات نت رو یه جوری از روند کار خودش برداره اونوقت شما پیشنهاد میدین با VB6 و یا VC++ کار کنه؟

قابل توجه دوست عزیزی که دنبال یه راهکار میگرده برای حذف دات نت فریم ورک:

اولین نکته ای که قابل ذکره اینه که چون شما دارین در محدوده این چهارچوب برنامه می نویسید ، پس مطمعنا نیاز به وجودش روی سیستم هدف دارید. پس از فکر اینکه کلا دات نت را حذفش کنید بیاید بیرون لطفا!

در نهایت تنها 2 راه برای ما می ماند:

1- دات نت فریم ورک را مثل بچه آدم برای کاربرمون نصبش کنیم. حالا به طرقی میتوانید نصب دات نت رو از دید کاربر مخفی کنید! (این عاقلانه ترین و منطقی ترین روشه که پیشنهاد میشه)
2- دات نت فریم ورک را در داخل برنامه خودمون جاسازی کنیم (Embed) (کلا روشی غیر استاندارد و unstable است که تا آنجا که امکانش برایتان وجود دارد و کارفرمای پروژه گیر نیست از این روش استفاده نکنید)
در این روش شما باید مواردی از جمله stable بودن و اینکه بر روی تمامی پردازنده ها برنامه اجرا شود را مد نظر بگیرید.
در این روش شما نرم افزار های بسیاری را در اختیار دارید. از جمله همون xeneocode که دوستان اشاره کردند و خود بنده هم ازش زیاد استفاده کردم که عیبهایی هم داره که دوستان اگه بخواند میتونم بگم. ولی برنامه های دیگری نیز برای این کار وجود دارند از جمله:

VMware ThinApp : که بنده خودم تستش کردم و به دوستان هم همینو پیشنهاد میدم
BoxedApp : تا حدودی جوابگو هست ولی برای دات نت چهار نسخه ای ازش پیدا نکردم در ضمن بر روی سیستم عاملهای x64 کار نمیکنه
PostBuild : که از همان شرکت سازنده xeneocode است و قابل اطمینانتر و با امکانات بیشتر
MoleBox : این یکی هم بدک نیست تقریبا شبیه به BoxedApp کار میکنه

در هر حال آقا از دید یه برنامه نویس حرفه ی: نکنید این کارو بهتره...

bnnoor
دوشنبه 16 خرداد 1390, 20:59 عصر
آخه بابا جان چه ربطی داره! :متعجب: طرف مشکلش اینه که نصب دات نت رو یه جوری از روند کار خودش برداره اونوقت شما پیشنهاد میدین با VB6 و یا VC++ کار کنه؟

قابل توجه دوست عزیزی که دنبال یه راهکار میگرده برای حذف دات نت فریم ورک:

اولین نکته ای که قابل ذکره اینه که چون شما دارین در محدوده این چهارچوب برنامه می نویسید ، پس مطمعنا نیاز به وجودش روی سیستم هدف دارید. پس از فکر اینکه کلا دات نت را حذفش کنید بیاید بیرون لطفا!

در نهایت تنها 2 راه برای ما می ماند:

1- دات نت فریم ورک را مثل بچه آدم برای کاربرمون نصبش کنیم. حالا به طرقی میتوانید نصب دات نت رو از دید کاربر مخفی کنید! (این عاقلانه ترین و منطقی ترین روشه که پیشنهاد میشه)
2- دات نت فریم ورک را در داخل برنامه خودمون جاسازی کنیم (Embed) (کلا روشی غیر استاندارد و unstable است که تا آنجا که امکانش برایتان وجود دارد و کارفرمای پروژه گیر نیست از این روش استفاده نکنید)
در این روش شما باید مواردی از جمله stable بودن و اینکه بر روی تمامی پردازنده ها برنامه اجرا شود را مد نظر بگیرید.
در این روش شما نرم افزار های بسیاری را در اختیار دارید. از جمله همون xeneocode که دوستان اشاره کردند و خود بنده هم ازش زیاد استفاده کردم که عیبهایی هم داره که دوستان اگه بخواند میتونم بگم. ولی برنامه های دیگری نیز برای این کار وجود دارند از جمله:

VMware ThinApp : که بنده خودم تستش کردم و به دوستان هم همینو پیشنهاد میدم
BoxedApp : تا حدودی جوابگو هست ولی برای دات نت چهار نسخه ای ازش پیدا نکردم در ضمن بر روی سیستم عاملهای x64 کار نمیکنه
PostBuild : که از همان شرکت سازنده xeneocode است و قابل اطمینانتر و با امکانات بیشتر
MoleBox : این یکی هم بدک نیست تقریبا شبیه به BoxedApp کار میکنه

در هر حال آقا از دید یه برنامه نویس حرفه ی: نکنید این کارو بهتره...

دوست عزیز این پیشنهادی که به ایشون دادیم بهترین راه برای حذف فریم ورکه چون امکان نداره برنامه رو روی یک چارچوب بنویسی و بعد بخوای جایی که اجرا میشه چارچوب رو حذف کنی . همونجور که دوستان اشاره کردن فقط با vb6 و vc++ میشه برنامه هایی با قدرت فریم ورک نوشت و خود اون رو هم نصب نکرد .

در ضمن تمام اون برنامه هایی رو که شما پیشنهاد کردین حجمی که از ستاپ میسازن تقریبا برابر با برنامه + نت فریم ورکه پس چه کاریه که اینهمه دردسر بدیم به خودمون؟؟!!!
البته به جز برنامه اول که در واقع یه پرتابل سازه (VMware ThinApp) و به جای کاهش حجم برنامه اون بیشتر هم میکنه (120%) روند کاری همه اونا هم اینه که برنامه رو چک میکنن و فایلهای dll نت فریم ورک رو بهش اضافه میکنن که اینم فایده ای نداره !!! چرا؟ چون برای مثال سه Dll مورد نیاز برای یه برنامه که با نت فریم ورک 2.0 کار میکنه هر کدوم شش یا هفت مگابایت هستن که در مجموع میشه 20 مگ ( تقریبا ) این در حالیه خود نت فریم ورک 2.0 بیست و دو مگابایته :گیج:

محمد باقری نسب
سه شنبه 17 خرداد 1390, 08:19 صبح
بابا باهوش دستت درد نکنه که اشاره کردي! واقعا چه نکته ی مهمی :گیج:

عزیزم شاید دوستمون عاشق دات نت. به پیر به پیغمبر ما خودمونم برنامه نویسیم. میدونیم vc++ , vb6 پیش نیاز نداره! (البته به اندازه دات نت پیش نیاز نداره وگرنه vb6 runtime میخواد و vc++ بسته به نسخش redist رو میخواد که 64 و 32 هم هر کدوم جداگونه)

HAMRAHSOFT.IR
سه شنبه 17 خرداد 1390, 10:27 صبح
VMware ThinApp : که بنده خودم تستش کردم و به دوستان هم همینو پیشنهاد میدم
BoxedApp : تا حدودی جوابگو هست ولی برای دات نت چهار نسخه ای ازش پیدا نکردم در ضمن بر روی سیستم عاملهای x64 کار نمیکنه
PostBuild : که از همان شرکت سازنده xeneocode است و قابل اطمینانتر و با امکانات بیشتر
MoleBox : این یکی هم بدک نیست تقریبا شبیه به BoxedApp کار میکنه
در هر حال آقا از دید یه برنامه نویس حرفه ی: نکنید این کارو بهتره...

با سلام و تشكر از شما امكان داره در مورد برنامه كه قرمز رنگ شده اطلاعات بيشتري قرار بدي اگر آموزش هم بزاري كه خيلي عالي ميشه

محمد باقری نسب
سه شنبه 17 خرداد 1390, 10:50 صبح
روند برنامه به این شکله که ابتدا نرم افزار یک تصویر کلی از اونچه که بر روی سیستم نصب شده میگیره (برای اینکه روند capture کمتر طول بکشه بهتره از یه ویندوز مجازی خام استفاده کنید). بعد شما دات نت رو نصب کرده و برنامتون رو میذارید روی سیستم. حالا نرم افزار ThinApp تغیرات کنونی رو با وضعیتی که قبلا از سیستم ثبت کرده بود مقایسه میکنه و اون چیزایی رو که جدیدن واسه شما بیرون میکشه و به صورت portable ارائه میکنه!

یه آموزش فارسی به صورت اسلاید:

http://www.mediafire.com/?mxtrnelymmj

خود نرم افزار ThinApp:

http://dl.softgozar.com/Files/Software/VMWare_ThinApp_4.6.1.361923_softgozar.com.exe

پسورد فایل: www.softgozar.com

خوش باشی!

bnnoor
سه شنبه 17 خرداد 1390, 14:37 عصر
بابا باهوش دستت درد نکنه که اشاره کردي! واقعا چه نکته ی مهمی :گیج:

عزیزم شاید دوستمون عاشق دات نت. به پیر به پیغمبر ما خودمونم برنامه نویسیم. میدونیم vc++ , vb6 پیش نیاز نداره! (البته به اندازه دات نت پیش نیاز نداره وگرنه vb6 runtime میخواد و vc++ بسته به نسخش redist رو میخواد که 64 و 32 هم هر کدوم جداگونه)

مشخصه شما با این طرز صحبت کردنتون تو تمام زمینه ها استادید منم منظورم با شما نبود و به اون دوستی که پرسیده بود این نکته ها رو گفتم . در ضمن استاد برنامه نویس redist فقط برای برنامه ها با گرافیک بسیار بالا استفاده داره مثل وقتی که شما از c++ به عنوان یه موتور گرافیکی برای ساخت بازی استفاده کنی . البته شما که استادی حتما برای برنامه نویسی ها زیاد استفاده کردی . در ضمن استاد از شما بعیده شما مطئنی برای ویندوزهای فعلی به vb6 runtime نیازه؟ احتمالا چند سالی هست ویندوزتون رو عوض نکردید حداقل یه سرچ تو اینترنت بکنید :قهقهه:

محمد باقری نسب
سه شنبه 17 خرداد 1390, 15:27 عصر
آقا یکی بیاد این جناب bnnoor رو روشنش کنه! بابا بحث کل کل نیست که عزیز دل من.
اولا بسته به نسخه C++ که شرکت مایکروسافت اونو به روز میکنه شما هم باید سیستم مقصدتون رو بروز کنید! این حرفا چیه که نمیدونم "redist فقط برای برنامه ها با گرافیک بسیار بالا استفاده داره". یه موقع جایی نگی ها! :متعجب:

دوما اینکه ما همیشه باید برای ارائه محصولمون حداقل سیستم رو در نظر بگیریم مثلا XP سرویس پک 1. شما نگاه میکنی به سیستم خودت که حالا نمیدونم مثلا ویندوز 8 هست که 2012 قراره release بشه؟ :اشتباه:

bnnoor
سه شنبه 17 خرداد 1390, 21:41 عصر
آقا یکی بیاد این جناب bnnoor رو روشنش کنه! بابا بحث کل کل نیست که عزیز دل من.
اولا بسته به نسخه C++ که شرکت مایکروسافت اونو به روز میکنه شما هم باید سیستم مقصدتون رو بروز کنید! این حرفا چیه که نمیدونم "redist فقط برای برنامه ها با گرافیک بسیار بالا استفاده داره". یه موقع جایی نگی ها! :متعجب:

دوما اینکه ما همیشه باید برای ارائه محصولمون حداقل سیستم رو در نظر بگیریم مثلا XP سرویس پک 1. شما نگاه میکنی به سیستم خودت که حالا نمیدونم مثلا ویندوز 8 هست که 2012 قراره release بشه؟ :اشتباه:

دوست عزیز منم نمیخوام مسئله رو شخصی کنم در ضمن استاد عزیز اون آپدیتی که شما میگی هر دو یا سه سال ریلیز میشه اگر اینطوره که شما میگی تا حالا فریم ورک 16 رو داشتیم :متعجب: در ضمن اون آپدیت Api ها رو بروز میکنه (همون چیزی که توی چند پست قبل یکی از دوستان درمورد vb 6 گفتن و به نظر شما خیلی مسخره اومد ) و دامنه اختیارات شما رو افزایش میده ولی شما با نسخه های قبلی هم اکثر برنامه های خودتون رو میتونید بنویسید . ( مثل خیلی از برنامه هایی که همین الان با نت فریم ورک 2 هم قابل نوشتنن ) . از این جهت گفتم بازیها چون برای موتورهای گرافیکی اکثرا از بروزترین ریلیزها استفاده میشه . واقعا شما خیلی اعتماد به نفس بالایی دارید :قهقهه: با اینکه میدونید اشتباه میکنید حاضر نیستید قبول کنید ببین دوست عزیز حتی اگر شما بخواید روی سیستم xp سرویس پک 1 ( :بامزه: ) هم یه Runtime vb6 رو نصب کنید به نظرتون یه ستاپ چند مگی رو باید نصب کنید؟ برای vb6 و آخرین ریلیز فقط یک ستاپ 512 کیلوبایتی هست هر چند تمام ویندوزهای به بعد از سرویس پک یک Xp اونو نصب دارند .
من زیاد دوست ندارم کل کل کنم و تاپیک رو به موضوعات بیهوده بکشم مثل شما هم ادعای برنامه نویسی ندارم که از این 30 تا پستتون چندین بار گفتید که برنامه نویسید . ( ای بابا قبول فهمیدیم ) ما همه اگه چیزی هم بلد باشیم همینجا و در ارتباط با دوستان یاد گرفتیم با همین سوالای ساده . ( مثل شما از اول استاد نبودیم :چشمک: ) . فقط لطف کنید با اطلاعات اشتباه دوستان رو منحرف نکنید .

محمد باقری نسب
چهارشنبه 18 خرداد 1390, 08:26 صبح
ای بابا. انگار شما دست بردار نیستسی ها؟

عزیز جان این دیگه چه حرفیه: "در ضمن اون آپدیت Api ها رو بروز میکنه...". دوست من مگه شما نمیدونین که API ها با نسخه ویندوز و سرویس پک هاشون به روز میشن؟ :متعجب:

شما لطف کنین زحمت بکشین اگه انگلیسیتون خوبه به لینک زیر یه نگاهی بندازین و قسمت Overview رو که 4 خط بیشتر نیست بخونید و ببینید redist برای چیه؟

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84

http://msdn.microsoft.com/en-us/library/ms235265.aspx

در کل مطلب اینو میگه گه اگر شما مثلا برنامه ای رو با ویژوال استادیو 2005 نوشتین و روی سیستم مقصد ازش جواب گرفتین (redist vc++ 2005 روی سیستم مقصد نصبه) و حالا سورس برنامتون رو تحت ویژوال استادیو 2010 بروز کردین و دوباره خروجی گرفتین ، فکر نکنید که حتما برنامتون دوباره روی همون سیستم مقصد کار میکنه و هیچ فرقی نداره! در صورتی که شما redist vc++ 2010 رو روی سیستم مقصد نصب نکرده باشید، برنامه با خطا مواجه میشه و کار نمیکنه!

اینو که من از خودم در نمیارم بگم! دوستان میتونن خودشون در اینباره تحقیق کنن و بعد قضاوت کنن. در ضمن ما هیچ ادعایی نداریم بر عکس فکر میکنم شما یه خورده زیادی جو گیر شدی!

bnnoor
چهارشنبه 18 خرداد 1390, 09:19 صبح
ای بابا. انگار شما دست بردار نیستسی ها؟

عزیز جان این دیگه چه حرفیه: "در ضمن اون آپدیت Api ها رو بروز میکنه...". دوست من مگه شما نمیدونین که API ها با نسخه ویندوز و سرویس پک هاشون به روز میشن؟ :متعجب:

شما لطف کنینین زحمت بکشین اگه انگلیسیتون خوبه به لینک زیر یه نگاهی بندازین و قسمت Overview رو بخونید و ببینید redist برای چیه؟

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84

http://msdn.microsoft.com/en-us/library/ms235265.aspx

در کل مطلب اینو میگه گه اگر شما مثلا برنامه ای رو با ویژوال استادیو 2005 نوشتین و روی سیستم مقصد ازش جواب گرفتین (redist vc++ 2005 روی سیستم مقد نصبه) و حالا سورس برنامتون رو تحت ویژوال استادیو 2010 بروز کردین و دوباره خروجی گرفتین ، فکر نکنید که حتما برنامتون دوباره روی همون سیستم مقصد کار میکنه و هیچ فرقی نداره! در صورتی که شما redist vc++ 2010 رو روی سیستم مقصد نصب نکرده باشید، برنامه با خطا مواجه میشه و کار نمیکنه!

اینو که من از خودم در نمیارم بگم! دوستان میتونن خودشون در اینباره تحقیق کنن و بعد قضاوت کنن. در ضمن ما هیچ ادعایی نداریم بر عکس فکر میکنم شما یه خورده زیادی جو گیر شدی!

مثل اینکه فایده ای نداره در ضمن منظور از Api ها مربوط به خود ویژوال بود نه ویندوز یعنی مجموعه اختیارات ساخت و طراحی نه پیاده سازی :ناراحت: بهتره با دقت بخونید دیگه دوست ندارم این بحثو ادامه بدم بهتره تاپیک خراب نشه

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84 :لبخندساده: واقعا بی ربط بود

Mani_rf
چهارشنبه 18 خرداد 1390, 16:45 عصر
دوستان لطفا حرمت هم دیگه و سایت را حفظ کنید.