PDA

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



barman.ar16
شنبه 16 دی 1396, 10:27 صبح
با سلام به همه دوستان و اساتید

من توی همین فروم و جاهای دیگه زیاد جستجو کردم متاسفانه اکثرا مطالب خیلی قدیمی شدن
ممنون میشم اگر کسی از اساتید میتونه راهنمایی کنه دریغ نکنه تا این تاپیک بشه مرجع پاسخگویی به خیلی از دوستان که مثل من آماتور هستند و اول راه

بنده همیشه با دیتابیس access و sqlite کار می کردم اما برای اولین بار یه برنامه با sql نوشتم
خب برای acess که من یه برنامه 35 مگی رو از سایت ماکروسافت گرفتم که دیگه از نصب آفیس بی نیاز میشدم و برای sqlite هم که اصلا نیاز به نصب چیزی نیست
اما ... می ماند خود sql

خب من الان دارم با ویژوال استودیو 2017 کار می کنم و دیتابیس رو هم با sql ورژن 2017 نسخه اینترپرایز نوشتم
پروژه ام هم با سی شارپ و بر پایه دات نت 4.5 نوشتم

حالا سوال من اینه که اگر بخوام این برنامه رو روی سیستم مشتری نصب کنم چه پیش نیاز هایی لازم هست که روی سیستم مشتری نصب بشه
قاعدتا کل چیزهایی که روی سیستم من هست و نباید نصب کنم درسته ؟

خب ممنون میشم نکاتی که کلا باید در همه موارد رعایت بشه مثلا پیش نیاز ها و اینکه چی نسخه هایی باید باشن ، نسخه 32 یا 64 بیتی بودن و ...
لطفا نکات ریز رو برای انجام شدن هر چه بهتر این قضیه رو که میدونید بفرمایید تا انشاءالله امثال بنده استفاده لازم رو ببریم
متشکرم

samiasoft
شنبه 16 دی 1396, 19:21 عصر
درود

اول اینکه اگر شما همون اکسس رو هم ورژنشو پایینتر انتخاب میکردید یعنی 2002 یا2003 دیگر نیاز به نصب همون بسته 35 مگابایتی در سیستم مشتری نبود.

برنامتون نسخه 4.5 فریمورک را استفاده کرده پس ملزمید دات نت فریمورک 4.5 هم در ویندوز مربوطه نصب باشد...فقط توجه کنید XP از 4 به بالا پشتیبانی نمیکند و برنامتون داخلش اجرا نخواهد شد.

اگر کامپونت یا رفرنسی یا....در برنامه استفاده کردید بایستی در پوشه دیباگ برنامه موجود باشه و در سیستم مشتری هم در همان مسیر کپی شود.

در مورد دیتابیس اسکیوال هم شما 2 راه دارید اینکه بیایید از نسخه اکسپرس استفاده کنید یا نسخه اینترپرایز

اگر میخواهید در سیستم مشتری نسخه کم حجم اسکیوال سرور رو نصب کنید پس کانکشن خودتون رو به اکسپرس تغییربدید و در اون سیستم نسخه 2017 اکسپرس که حجمش کمتر از نسخه اصلی هست رو میتوانید نصب کنید.

درغیر این صورت مجبورید نسخه 2017 اینترپرایز هم در سیستم مشتری نصب شود.

فقط یک نکته مهم رو هم توجه داشته باشید که نسخه 2017 اینترپرایز یا استاندارد اسکیوال سرور روی ویندوز 7 نصب نخواهند شد....اما نسخه اکسپرس مشکلی ندارند.

اخرین نسخه قابل نصب روی ویندوز 7 نسخه 2014 هست.

پس شما کل این محدودیت ها رو درنظر بگیرید ببینید کاربرانتون بیشتر از کدوم سیستم عامل استفاده میکنن سپس پیش نیازهای برنامتون رو براساس اون تغییربدید.

barman.ar16
شنبه 16 دی 1396, 19:34 عصر
درود

اول اینکه اگر شما همون اکسس رو هم ورژنشو پایینتر انتخاب میکردید یعنی 2002 یا2003 دیگر نیاز به نصب همون بسته 35 مگابایتی در سیستم مشتری نبود.

برنامتون نسخه 4.5 فریمورک را استفاده کرده پس ملزمید دات نت فریمورک 4.5 هم در ویندوز مربوطه نصب باشد...فقط توجه کنید XP از 4 به بالا پشتیبانی نمیکند و برنامتون داخلش اجرا نخواهد شد.

اگر کامپونت یا رفرنسی یا....در برنامه استفاده کردید بایستی در پوشه دیباگ برنامه موجود باشه و در سیستم مشتری هم در همان مسیر کپی شود.

در مورد دیتابیس اسکیوال هم شما 2 راه دارید اینکه بیایید از نسخه اکسپرس استفاده کنید یا نسخه اینترپرایز

اگر میخواهید در سیستم مشتری نسخه کم حجم اسکیوال سرور رو نصب کنید پس کانکشن خودتون رو به اکسپرس تغییربدید و در اون سیستم نسخه 2017 اکسپرس که حجمش کمتر از نسخه اصلی هست رو میتوانید نصب کنید.

درغیر این صورت مجبورید نسخه 2017 اینترپرایز هم در سیستم مشتری نصب شود.

فقط یک نکته مهم رو هم توجه داشته باشید که نسخه 2017 اینترپرایز یا استاندارد اسکیوال سرور روی ویندوز 7 نصب نخواهند شد....اما نسخه اکسپرس مشکلی ندارند.

اخرین نسخه قابل نصب روی ویندوز 7 نسخه 2014 هست.

پس شما کل این محدودیت ها رو درنظر بگیرید ببینید کاربرانتون بیشتر از کدوم سیستم عامل استفاده میکنن سپس پیش نیازهای برنامتون رو براساس اون تغییربدید.

ممنون از توضیحات و راهنمایی های خوبتون
یک نکته هم من اضافه می کنم :
اگر بخوایم جهت گزارش گیری از برنامه های موجود استفاده کنیم میشه از stimulsoft report استفاده کرد که اگر dll های مورد نیاز برای اجراش در کنار خود برنامه باشه دیگه نیاز به نصب برنامه ی خاصی درون سیستم مشتری نیست مثل crystal report ...

خب در خصوص sql server ممنون که توضیح دادید .
یه سوال دیگه من الان توی این پروژه جدید یادگرفتم و دارم از بین orm های موجود از Entity Framework استفاده می کنم و انصافا خیلی عالی هست (حجم کدنویسی بشدت کاهش یافته)
با این روش هم می تونم باز کانکشنم رو بصورت اکسپرس بنویسم یا مشکلی پیش میاد

در کل اگر کانکشن رو اکسپرس یا عادی بنویسیم چه تفاوت هایی داره ؟؟؟ درواقع منظورم اینه که اگر اکسپرس مشکل خاصی رو پیش نمیاره خب برای اینکه توی سیستم مقصد نیازی به نصب sql یک گیگابایتی نداشته باشیم همیشه اکسپرس بنویسیم خب چه کاریه
دوم اینکه نیازی به نصب sql management نیست اگر نه پس بحث attach کردن دیتابیس چی میشه؟؟؟

بالاخره باید دیتابیس رو که میبریم توی سیستم مشتری اتچ کنیم تا برنامه مون دیتابیس رو بشناسه دیگه درسته؟؟

ممنون میشم راهنمایی بفرمایید ، متشکرم

samiasoft
شنبه 16 دی 1396, 19:44 عصر
ممنون از توضیحات و راهنمایی های خوبتون
یک نکته هم من اضافه می کنم :
اگر بخوایم جهت گزارش گیری از برنامه های موجود استفاده کنیم میشه از stimulsoft report استفاده کرد که اگر dll های مورد نیاز برای اجراش در کنار خود برنامه باشه دیگه نیاز به نصب برنامه ی خاصی درون سیستم مشتری نیست مثل crystal report ...

خب در خصوص sql server ممنون که توضیح دادید .
یه سوال دیگه من الان توی این پروژه جدید یادگرفتم و دارم از بین orm های موجود از Entity Framework استفاده می کنم و انصافا خیلی عالی هست (حجم کدنویسی بشدت کاهش یافته)
با این روش هم می تونم باز کانکشنم رو بصورت اکسپرس بنویسم یا مشکلی پیش میاد

در کل اگر کانکشن رو اکسپرس یا عادی بنویسیم چه تفاوت هایی داره ؟؟؟ درواقع منظورم اینه که اگر اکسپرس مشکل خاصی رو پیش نمیاره خب برای اینکه توی سیستم مقصد نیازی به نصب sql یک گیگابایتی نداشته باشیم همیشه اکسپرس بنویسیم خب چه کاریه
دوم اینکه نیازی به نصب sql management نیست اگر نه پس بحث attach کردن دیتابیس چی میشه؟؟؟

بالاخره باید دیتابیس رو که میبریم توی سیستم مشتری اتچ کنیم تا برنامه مون دیتابیس رو بشناسه دیگه درسته؟؟

ممنون میشم راهنمایی بفرمایید ، متشکرم

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

اما در فست ریپورت یا استیمول ریپورت همون dll های مربوطه اگر کنار برنامه باشند دیگر نیازی به نصب اونا در سیستم مشتری نیست.

در مورد دیتابیس هم :
وقتی دیتابیس اکسپرس باشه دیگر نیاز به اتچ کردن آن نیست و به راحتی با کانکشن مربوطش دیتابیس با برنامه ارتباط پیدا میکند.

تفاوت هاشو اگربخواهیم بگیم این تصویر رو ببینید :
http://uupload.ir/files/ia6g_diffrent.jpg
همانطور که میبنید یک سری تفاوت هایی وجود دارد...
برای مثال حداکثر حجم دیتابیس اکسپرس میتواند 10 گیگ باشد و....

barman.ar16
شنبه 16 دی 1396, 20:25 عصر
بسیار عالی
از کاربر samiasoft (http://barnamenevis.org/member.php?267633-samiasoft) ممنون و سپاسگزارم که دانش شون رو با دیگران به تعامل میگذارند

خب با این توضیحات کاملا تفاوت ها رو متوجه شدم نکته مهم استفاده از میزان رم و سی پی یو در مدل های اکسپرس و اینترپرایز هست که میتونه خیلی خیلی مهم باشه

در خصوص sql server management هم ممنون میشم توضیح بشتری بدید
الان با این توضیحات من همون اینترپرایز رو انتخاب می کنم بنابراین باید منیجر اسکیوال رو هم نصب کنم که کار اتچ رو انجام بدم درسته؟؟ اگر آره راهی برای نوشتن کدی که بشه کار این اتچ رو بصورت اتومات انجام داد هست یا خیر؟

و سوال آخر اینکه یه نکته توی دو پست قبلتر فرمودید و اون هم اینکه نسخه 2017 اینترپرایز روی ویندوز 7 نصب نمیشه و این یه مشکل بسیار بزرگ برای من هست چون تمامی کاربرام ویندوز 7 دارند
الان یعنی من که با sql 2017 برنامه ام رو نوشتم نمی تونم نسخه 2014 رو روی سیستم مشتری که ویندوز 7 داره نصب کنم که نخوام توی برنامه ام تغییرات بدم
منظورم اینه که باید دقیقا همون نسخه ای که باهاش برنامه رو نوشتم توی سیستم مشتری هم نصب باشه یا ربطی نداره؟

ممنون میشم این سوالات رو هم راهنمایی بفرمایید ، متشکرم

samiasoft
یک شنبه 17 دی 1396, 17:40 عصر
بسیار عالی
از کاربر samiasoft (http://barnamenevis.org/member.php?267633-samiasoft) ممنون و سپاسگزارم که دانش شون رو با دیگران به تعامل میگذارند

خب با این توضیحات کاملا تفاوت ها رو متوجه شدم نکته مهم استفاده از میزان رم و سی پی یو در مدل های اکسپرس و اینترپرایز هست که میتونه خیلی خیلی مهم باشه

در خصوص sql server management هم ممنون میشم توضیح بشتری بدید
الان با این توضیحات من همون اینترپرایز رو انتخاب می کنم بنابراین باید منیجر اسکیوال رو هم نصب کنم که کار اتچ رو انجام بدم درسته؟؟ اگر آره راهی برای نوشتن کدی که بشه کار این اتچ رو بصورت اتومات انجام داد هست یا خیر؟

و سوال آخر اینکه یه نکته توی دو پست قبلتر فرمودید و اون هم اینکه نسخه 2017 اینترپرایز روی ویندوز 7 نصب نمیشه و این یه مشکل بسیار بزرگ برای من هست چون تمامی کاربرام ویندوز 7 دارند
الان یعنی من که با sql 2017 برنامه ام رو نوشتم نمی تونم نسخه 2014 رو روی سیستم مشتری که ویندوز 7 داره نصب کنم که نخوام توی برنامه ام تغییرات بدم
منظورم اینه که باید دقیقا همون نسخه ای که باهاش برنامه رو نوشتم توی سیستم مشتری هم نصب باشه یا ربطی نداره؟

ممنون میشم این سوالات رو هم راهنمایی بفرمایید ، متشکرم

همانظور که گفته شد اگر دیتابیس اکسپرس استفاده کنید نیاز به اتچ نخواهد بود
درغیراین صورت نیاز خواهید داشت قبل از اجرای برنامه دیتابیس اتچ شود...برای اتچ کردن هم راه زیادی وجود داره...میتونید با دستورات برنامه نویسی با استفاده از دیتابیس مستر دیتابیس خود را اتچ کنید یا هنگام ساخت ستاپ اسکریپت دیتابیس رو به نرم افزار ستاپ ساز بدید تا خودش مراحل رو انجام بدهد...

در مورد سوال دومیتون هم همانطور که گفته شد اگر اکسپرس 2017 نصب کنید مشکلی در ویندوز 7 نخواهد بود اما نسخه اینترپرایز 2017 امکان نصب ندارد
برای همین دو راه دارید :
راه اول اینکه میتوانید نسخه 2017 رو پاک کرده و نسخه 2014 استفاده کنید تا دیتابیستون در ویندوزهای 7 و 8.1 و 10 مشکلی نداشته باشید

اما اگر از نسخه 2017 در سیستم خودتون استفاده میکنید در سیستم مشتری که ویندوز 7 هست 2014 رو نصب کنید ولی هنگام ساخت دیتابیس نسخه دیتابیس رو 2014 کنید چه بصورت معمولی چه با استفاده از ساخت اسکریپت دیتابیس