PDA

View Full Version : سوال: مشکل در اجرای برنامه



cerezaei65
سه شنبه 09 خرداد 1391, 12:11 عصر
سلام
توی قسمت setup مطرح کردم کسی جواب نداد!
گفتم شاید اینجا کسی کمک کنه
بعد از ساخت setup در خوده vs2010 هم با .net4 و هم net3.5 توی win xp این ارور رو میده توی 7 درست کار میکنه
لطفا راهنمایی کنید87621

va2012
سه شنبه 09 خرداد 1391, 12:56 عصر
سلام.

خوب احتمالا به خاطر این هست که روی ویندوز ایکس پی نسخه دات نت 2 نصب هست و شما باید اول نسخه دات نتی که باهاش برنامه رو نوشتی نصب کنی و بعد اجرای برنامه. مثلا دات نت 3.5 یا 4 که گفتین.

روی ویندوز سون هم که کار میکنه به این خاطر هست که نسخه پیش فرض دات نت در ویندوز سون 3.5 هست.

cerezaei65
سه شنبه 09 خرداد 1391, 13:15 عصر
ممنون
اما من همه نسخه های دات نت رو روش نصب کردم!!!!
هم 2 هم 3 هم 3.5 هم 4!!!!
اما بازم این ارور رو میده
کمک

va2012
سه شنبه 09 خرداد 1391, 13:49 عصر
خوب این ارور توی همه جای ویندوز XP دیده میشه. فقط با این عکس که نمیشه فهمید مشکل چیه . باید کمی در مورد برنامت توضیح بدی. در مورد دیتابیست و کانکشن استرینگ و .... ضمن اینکه برنامه رو با Admin اجرا کردی؟ اصلا ممکنه مشکل از ویندوز باشه نه از برنامه شما.

mahdi87_gh
سه شنبه 09 خرداد 1391, 17:43 عصر
ابتدا شما باید برنامه رو روی یک کامپیوتر دیگه هم تست کنید. بهتره شما برای برنامتون از بلوکهای کنترل خطا استفاده کنید و اطلاعات مربوط به خطای اتفاق افتاده رو در یک جایی ( درون فایلی ) لوگ کنید.
موفق باشید

abdullah20
سه شنبه 09 خرداد 1391, 19:25 عصر
کلا ویندوز xp با .net4 مشکل داره مگر اینکه ویندوز xp اخرین نسخه و update باشه تو ایران که بیشتر افراد چند سال پیش یه سی دی ویندو خریدن و هر بار برای نصب ویندوز از این سی دی استفاده می کنند و خبری از update هم نیست
بهتر اینه که برای نوشتن برنامه از نت فریم ورک 2 استفاده بشه

cerezaei65
چهارشنبه 10 خرداد 1391, 08:32 صبح
ممنون
اول اینکه قبل از این که برنامه اجرا بشه این پیام میاد!!!!توی 7 کامل درست کار میکنه
برنامه رو با دات نت 4 و 3.5 و 2 هم نوشتم!!!
روی 3 تا سیستم XP و 2تا 7 نصب کردم فقط توی XP چنین مشکلی هست
فقط همین پیام میاد
دیتابیسم روی سرور هست و برنامه هم در اوایلش اصلا با دیتابیس کار نداره
چیز خاصی هم نداره که مشکل توی اجراش داشته باشه:گریه:

mahdi87_gh
چهارشنبه 10 خرداد 1391, 09:18 صبح
دوست عزیز من هم قبلا یک بار به این مشکل برخورده بودم. مشکل از چیزی بود که اصلا فکرشم نمیکردم. آیکون برنامه!!!!! آیکونس که ساخته بودم توی ویندوز 7 مشکل نداشت اما تو ویندوز xp برنامه موقع اجرا خطا میداد. تنها با تعویض آیکون برنامه و بدون اصلاح یک خط از کد برنامه، مشکل حل شد. شما هم این قضیه رو تست کنید. از یک آیکون استاندارد استفاده کنید
موفق باشید

goli_bushehr
چهارشنبه 10 خرداد 1391, 12:22 عصر
به نظر من هم اصلا ذهنتو مشغول نکن که دلیلش سیستم عاملته
چون .net ی قابلیتی داره که هرکدی که با هرسیستمی (یعنی با سخت افزار بالا و هرنوع سیستم عاملی)بنویسی ، داخل ی فایل ک به زبان خودش هست نگه میداره
و بعد که برنامه رو روی هر سیستمی گذاشتی با توجه به قطعات و سیستم عامل آن سیستم ترجمه و اجرا میشه

cerezaei65
چهارشنبه 10 خرداد 1391, 13:50 عصر
نمیدونم باید چجوری به این مطلب میرسیدم!!!!
آقای mahdi87_gh کاملا درست گفتن البته آیکن نبود یه عکس بود که توی spash نرم افزار بود که برداشتمش درست شد!!!!!!!!!!!!!!!!!!!!!!!!!!

Saeed_m_Farid
چهارشنبه 10 خرداد 1391, 16:03 عصر
چون .net ی قابلیتی داره که هرکدی که با هرسیستمی (یعنی با سخت افزار بالا و هرنوع سیستم عاملی)بنویسی ، داخل ی فایل ک به زبان خودش هست نگه میداره
و بعد که برنامه رو روی هر سیستمی گذاشتی با توجه به قطعات و سیستم عامل آن سیستم ترجمه و اجرا میشه
خداییش یه بار این جمله ای که نوشتین رو خودتون می خونید؟

حالا بار اطلاعاتی اش یه طرف، اصلاً خودش کیه؟ قطعات شامل ماوس، درایوهای نوری، رم، هارد، مودم و ... هم میشه، چه ربطی به برنامه یا دات نت داره؟ هر سیستمی شامل صدها نوع سیستم عامل (http://en.wikipedia.org/wiki/List_of_operating_systems) میشه و ...
نمیخوام الکی گیر بدم ولی با کمال احترام وقتی دات‌نت اینقدر برنامه نویس ها رو بدعادت میکنه، باید هم انتظار داشته باشه در مورد چارچوب اش همینطوری نظر داده بشه، من سعی میکنم منظور شما رو ترجمه کنم:

=======================


.net ی قابلیتی داره: هر کدی که شما به یکی از زبانهای دات نت می نویسین، به یک زبان میانی بنام Common Language Infrastructure یا CLI ترجمه میشه که تضمین میکنه مدیریت خطاها، مدیریت resource هایی که همینطوری تو کدتون ولشون کردین به امان خدا، امنیت، همکاری در سطوح پایین تر به صورت درستی مدیریت بشن و پروژه برای مرحله بعد قابل استفاده بشه ...
داخل ی فایل: این زبان واسط که Microsoft intermediate language یا MSIL هم میگن درون اسمبلی های دات نت قرار داده میشن که همچین سینتکسی دارن:
.method private hidebysig static void Main(string[] args) cil managed {
.entrypoint
.custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 )
// Code size 11 (0xb)
.maxstack 1
IL_0000: ldstr "Hello World"
IL_0005: call void [mscorlib]System.Console::WriteLine(string)
IL_000a: ret } // end of method Class1::Main
ک به زبان خودش هست: اسمبلی های بدست اومده در مرحله قبل در فایلهایی با فرمت Portable Executable یا PE که تو ویندوز ما اونا رو exe یا dll می شناسیم ذخیره میشن که شامل مانیفست (شامل metadata (http://fa.wikipedia.org/wiki/%D9%81%D8%B1%D8%A7%D8%AF%D8%A7%D8%AF%D9%87) های اسمبلی)، نام کامل اسمبلی (که الزاماً نامی مه روی هارد ذخیره میشه نیست)، نسخه برنامه و ... خواهند بود.
نگه میداره: جایی که PE ها ذخیره میشن با عنوان Global Assembly Cache یا GAC شناخته میشه
با توجه به قطعات و سیستم عامل آن سیستم ترجمه و اجرا میشه: برای اینکه بتونید کدهای MSIL رو اجرا کنید، نیاز به یک کامپایلر هست که اونها رو به کد Native (قابل اجرا روی هر سیستمی) تبدیل کنه، اسم این کامپایلر دات نتی Just-In-Time یا JIT هست، که دقیقاً همون زمینه ای (Platform) رو تو سیستم هدف تون پیاده سازی میکنه که سمت سیستم توسعه یا همونی که توش برنامه رو نوشتین هست، این کامپایلر قابلیت همسان سازی و بهینه کردن کدها نسبت به پردازنده رو داره و همچنین میتونه کدهای شما رو بصورت عمومی برای کاهش تخصیص منابع سیستم عامل تصحیح کنه. از این طریق ماشین مجازی که مسئول اجرای کدهای دات نتی هست، مطمئن میشه که بدون توجه سیستم عامل (که اونم محدود به اونایی هست که نسخه دات نت مشخص کرده) و پردازنده و منابع سخت افزاری؛ برنامه شما اجرا میشه و شما درگیر سیستم عامل و مدیریت حافظه و نسخه قابل اجرا و ... نمی شین
روی هر سیستمی: غیر از ویندوز (نه هر ویندوزی!) با پروژه متن باز (http://en.wikipedia.org/wiki/Mono_%28software%29) Mono (http://en.wikipedia.org/wiki/Mono_%28software%29) از شرکت ناول (http://download.novell.com/Download?buildid=uK5RKK7TZpo%7E) برنامه نویسی و امکان اجرای برنامه های دات نتی روی سیستم عامل هایی عیر از ویندوز هم فراهم شده که فعلاٌ شامل Android (http://en.wikipedia.org/wiki/Android_%28operating_system%29), BSD (http://en.wikipedia.org/wiki/BSD), iOS (http://en.wikipedia.org/wiki/IOS), Linux (http://en.wikipedia.org/wiki/Linux), OS X (http://en.wikipedia.org/wiki/OS_X), Windows (http://en.wikipedia.org/wiki/Microsoft_Windows), Solaris (http://en.wikipedia.org/wiki/Solaris_%28operating_system%29), Unix (http://en.wikipedia.org/wiki/Unix) و کنسول های بازی PlayStation 3 (http://en.wikipedia.org/wiki/PlayStation_3), Wii (http://en.wikipedia.org/wiki/Wii), و Xbox 360 (http://en.wikipedia.org/wiki/Xbox_360) میشه.

* برای مطالعه بیشتر ر.ک. : 1 و 2 (http://en.wikipedia.org/wiki/.NET_Framework) و 3 (http://msdn.microsoft.com/en-us/library/ht8ecch6%28v=vs.71%29.aspx) و + (http://en.wikipedia.org/wiki/Just-in-time_compilation) و + (http://en.wikipedia.org/wiki/Portable_Executable) و + (http://en.wikipedia.org/wiki/.NET_assembly) و ... (http://tinyurl.com/6wcpdbj)

goli_bushehr
پنج شنبه 11 خرداد 1391, 14:24 عصر
کاملا درست میگید من باید خوب توضیح میدادم:خجالت:
من منظورم دقیقا همون MSIL بود
فقط میخاستم به دوستمون بگم که ذهنشو درگیر سیستم عامل و اون سیستمی که برنامه رووش اجرا میشه، نکنه ...
ممنون از انتقادت .

mahdi87_gh
سه شنبه 16 خرداد 1391, 08:03 صبح
نمیدونم باید چجوری به این مطلب میرسیدم!!!!
آقای mahdi87_gh کاملا درست گفتن البته آیکن نبود یه عکس بود که توی spash نرم افزار بود که برداشتمش درست شد!!!!!!!!!!!!!!!!!!!!!!!!!!

ما اینجا هستیم که تجربیاتمون رو به اشتراک بزاریم دیگه!