مشاهده دست آورد نظرسنجی: مطلب مفید بود

رای دهنده
3. شما نمی توانید در این رای گیری رای بدهید
  • خیلی خوب بود

    3 100.00%
  • بد نبود

    0 0%
  • بدرد نخورد

    0 0%
  • ابن چی بود دیگه

    0 0%
نظرسنجی چند گزینه ای
نمایش نتایج 1 تا 4 از 4

نام تاپیک: آموزش کامل و ساده ایجاد فایل نصب در ویژوال و اینستال شیلد و چنتا سوال رایح

  1. #1
    کاربر تازه وارد آواتار svhasvha
    تاریخ عضویت
    آذر 1390
    محل زندگی
    کرمانشاه
    پست
    89

    Lightbulb آموزش کامل و ساده ایجاد فایل نصب در ویژوال و اینستال شیلد و چنتا سوال رایح

    با سلام خدمت دوستان قول داده بودم که این آموزشو بزارم
    حالا اومدم که به قولم وفا کنم
    فرض میکنیم شما پرروژتون رو کامل کردید و حالا میخواید پروژتون رو قابل حمل کنید یا به عبارتی بتونید رو هر سیستمی نصب کنید با به عبارت دیگه فایل نصبش رو درست کنید
    خوب چون هر کدوم از شما دوستای گلم پروژتون متفاوته من سعی میکنم حالت های ممکن رو در نظر بگیرم
    1. پروژتون C#‎‎ 2008 (البته تفاوتی با 2010 نداره)
    2. پروژتون به بانک SQL2008 وصله (البته ورژنش باز تفاوتی نداره)
    3. تو پروژتون از کریستال ریپورت برای گزارش گیری استفاده کردید
    4. میخواید با خود محیط ویژوال کار کنید
    5. میخواهید با اینستال شیلد 2010 کار کنید(البته ورژنش زیاد تفاوتی نداره)
    حالا فرض میکنیم شما چن تا سوال هم دارید
    1. چه فایل ها برنامه های باید با فایل ست آپ نصب کنم رو سیستم مقصد
    2. چیکار کنم که بعد نصب نرم افزار در خواست اتچ کردن نده
    3. چطوری فرم های ویزارد هنگام نصب برنامه رو به صورت دل خواه تنظیم کنم
    خوب قبل این که شروع کنیم بهتون بگم که روش های که و اسه انجام تمام این آیتم ها وجود داره زیاده و خیلی جا ها سلیقه ایه که شاید به خاطر قدرت مانور و انعطاف زیاد C#‎‎ و SQL و iestallshield و کلا نرم افزار های موجوده
    من سعی میکنم یه روش اصولی و خیلی راحت و به زبان ساده بگم, بی ادبی به خدمت دوستان گلم نشه همه مهندس وسر ور منید ولی اینطوری فکر کنیم که همه قرار نیست همه چیز رو بدونن و اینکه ممکنه من خیلیا تازه وارد یا اینکه نه همه چی دون ولی تا حالا سرو کارشون به یه قسمت از این مطالب نیفتاده باشه این اشکالی نداره ما فرض میکنیم همه مث من تازه کارن
    پس یا علی
    توجه : هر قسمت از مطالب رو شما در پروژتون نداشتید میتونید از اون قسمت صرفه نظر کنید
    خوب اول بریم سراغ.....
    سراغ......
    اها سوالات وسوال 2
    ببینید مشکل اینجاست که شما نمیخواید به صورت دستی مجبور بشید هربار که نرم افزار رو نصب کنید واسش توضیح بدید که چطوری و بره کجا و به چه بانکی وصل بشه شما بلدید ولی ممکنه کار بر این چزا رو بلد نباشه و به همبن خاطر قید استفاده از نرم افزار شما رو بزنه!!!! به همین راحتی
    بیاید فکر کنیم ....
    راه حل
    1. خودمون بریم و هربار اتصال بانک رو انجام بدیم!!! ؟؟؟؟

    شوخی قشنگی بود

    2. مگه ما برنامه نویس نیستیم ؟ خوب برنامه رو تنظیم میکنیم که این کارو برامون انجام بده!!
    بلد نیستیم؟
    مهم نیست بلدی نمی خواد سو استفاده میکنیم!!!!

    SQL رو باز کنید بانکتون رو دیتچ کنید حالا دوباره اتیچ کنید ولی آخر کار کلید OK رو نزنید
    Untitled.jpg
    بجای OK ایکن Script رو بزنید اینجوری کد اتیچ براتون نمایان میشه!!!!
    اینو بهش میگن سو استفاده!!!!
    کد به صورت زیره البته با یزه تفاوت با مال شما اونم قسمت آدرس فایل بانکه که به رنگ قرمزه


    USE [master]
    GO
    CREATE DATABASE [FOROSHGHAH] ON
    ( FILENAME = N'D:\New folder\proje\SAEID\SAEID\bin\Debug\DB\foroshghah.m df' ),
    ( FILENAME = N'D:\New folder\proje\SAEID\SAEID\bin\Debug\DB\foroshghah_l og.ldf' )
    FOR ATTACH
    GO


    به همین زیبایی و قسنگی !!!
    خوب حالا اینو چیکارش کینم
    دوتا سوال
    1. آدرس محل بانک فیزیکی یعنی این آدرس مال سیستم منه نه کاربر!!!
    2. حالا کجا استفادش کنیم؟؟؟
    خوب اول سوال دوم
    ببینید منطقی فکر کنید!! بهترین جا کجاست؟؟؟
    من میگم اولین فرمی که یعد از نصب نرم افزار رو سیستم کاربر اجرا میشه وقبل از هرکد اتصالی به بانک!!
    موافقید؟
    یه تشکر بزنید
    خوب این فرم رو که گفتیم باز کنید و برید قسمت کد نویسی
    من از فرم لوگین پروژم استفاده میکنم
    Untitled1.png
    تو قسمت کد نویسی یه متد اتصال به بانک مینویسم
    روش اتصال به عهده خودتون هر جور که تو پروژه تون وصل میشید وصل شید
    من این کارو کردم


    //متغیر سراسری
    SqlConnection con = new SqlConnection();

    و متد رو اینطوری تعریف کردم

    //اتصال بانک
    public void Return_DB()
    {
    try
    {
    // روش اتصال به شما بستگی داره مهم فقط رشته دستوره
    con.ConnectionString = "Integrated Security = True;" +"Initial Catalog = Master;";
    }
    catch
    {
    MessageBox.Show("اتصال به بان موفق نبود");
    }
    }


    نکته :آخر رشته من از مسترر استفاده کردم ببینید ما که نمیدونیم چه بانک های به SQL کاربر اتیچ هستند که با استفاده از اون بانک وصل بشیم یا اینجوری بگم که برای اتصال به SQL باید از یک بانک استفاده کنیم!!!! بانک مستر به صورت پیش فرض روی SQL هست پس ما باز سوءاستفاده میکنیم و از امکانات خود SQL کمک میگیریم
    خوب حالا اتصال به بانک رو امتحان کردیم یه متد دیگه لازم داریم که بانک مونو به SQLاتیچ کنیم
    یعنی استفاده از همون کدی که از خود SQLکش رفتیم!!!

    //attach بانک
    public void Check_Copy()
    {
    //بدست آوردن مسیری که فابل اجرایی از اونجا داره اجرا میشه
    string path = Application.StartupPath;
    //********************************اتصال یه بانک***********************
    SqlCommand com = new SqlCommand();
    com.Connection = con;
    com.CommandText = @"CREATE DATABASE [FOROSHGHAH] ON ( FILENAME = N'" + path + "\\DB\\foroshghah.mdf' ),( FILENAME = N'" + path + "\\DB\\foroshghah_log.ldf' ) FOR ATTACH";

    con.Open();
    com.ExecuteNonQuery();
    con.Close();
    }

    سوال اول یادتونه؟ راجب مسیر فیزیکی؟
    من مشکل رو این جوری حل کردم
    با استفاده از خط اول کد مسیری که فایل EXEنرم افزار از اونجا اجرا میشه رو پیدا کردم وریختم تو یه متغیر رشته ای به نام PATH
    درست ؟ خوب کار بعدی این بود که بانک اطلاعاتی رو از SQL دیتچ کردم و اونو جابه جا کردم
    کجا؟؟
    تو شاخه پروژه به اسم bin رفتم دوبا خاتونو دیدم..... نه ببخشدی بعد Debug
    یعنی یه همچین چیزی
    D:\New folder\proje\SAEID\SAEID\bin\Debug
    اونجا یه فولدر به اسم DB ساختم و فایل بانک اطلاعاتی رو ریختم تو اون!!!
    خوب حالا من قسمت اول آدرس بانکم رو دارم یعنی
    D:\New folder\proje\SAEID\SAEID\bin\Debug
    یا هر جایی که کاربر برنامه رو نصب کرده
    کجاست؟ ذخیره شده تو متغیر
    ptach این مسیر هربار که نرم افزار اجرا بشه و تو هر سیستمی تو این متغیر ذخیره میشه
    حالا کافیه من به آخر این آدرس \\DBرو اضافه کنم یعنی اینطوری
    path + "\\DB
    وبه آخر این هم اسم بانکم رو یعنی
    path + "\\DB\\foroshghah.mdf
    و
    path + "\\DB\\foroshghah_log.ldf'
    به همین راحتی آدرس دقیق خونشونو ... ببخشد محل ذخیزه رو پیدا کردیم!!!!
    پس فهمیدید تو متد دوم من چرا وچطور کد SQL رو تغییر دادم؟؟
    حالا برید تو قسمت متد لود فرم و قبل از هر کدی این کد رو وارد کنید

    try
    {
    Return_DB();
    Check_Copy();
    }
    catch
    {
    }

    دلیل استفاده از try هم اینه که قرار نیست هر بار که نرم افزار اجرا میشه بانک اتچ بشه فقط بار اول لازمه
    یا اینطوری بگم
    هربار که نرم افزار اجرا میشه چک میکنه که بانک وصل هست اگه بود که هیچ کاری نکن اگه نبود که وصلش کن!!
    خوب این از مشکل اتیچ تا من قسمت بعد رو آماده میکنم وشما هم این قسمت رو چک میکنید
    تشکر یادتون نره
    نه به این خاطر که از من تشکر کرده باشید نه مولا علی میگه زکات علم آموزش آن است این و ظیفس
    فقط به خاطر اینکه بدونم مطالب مفید بوده که ادامه بدم
    والا نه من بی کارم نه دور از جون شما!!!!

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    کنار یه ساحل خیلی زیبا
    پست
    922

    نقل قول: آموزش کامل و ساده ایجاد فایل نصب در ویژوال و اینستال شیلد و چنتا سوال رایح

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

  3. #3

    نقل قول: آموزش کامل و ساده ایجاد فایل نصب در ویژوال و اینستال شیلد و چنتا سوال رایح

    از اموزشتون ممنون من خیلی دونبال این مطلب هستم که امیدوارم توی این تاپیک یاد بگیرم
    ولی برای این کار دو مشکل وجود داره که شما هم مثل اینکه قرار نیست به اون دو مشکل اصلی توجه کنید
    مشکل اول نصب sql:ببینید فرض کنید ما از sql server 2008 برای ایجاد و ساخت دیتابیس خود استفاده کردیم حالا تو سیستم کاربر باید چی نصب باشه که بانک بهش اتچ بشه ؟ایا نصب sql express کافی هستش و با نصب sql express بانکی که با sql server 2008 ساختیم بهش اتچ میشه؟
    مشکل دوم:باید از چه کانکشن استرینگی استفاده کنیم که در همه سیستم ها کار کند؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    کنار یه ساحل خیلی زیبا
    پست
    922

    نقل قول: آموزش کامل و ساده ایجاد فایل نصب در ویژوال و اینستال شیلد و چنتا سوال رایح

    با سلام
    سوال بستگی به شما داره یعنی اگه نیازتون با ورژن اکسپرس هم برطرف میشه پس نیاز به نصب ....نیست
    2-تا جایی که من تحقیق کردم
    :
        
    SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + "\\db.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

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

تاپیک های مشابه

  1. پاسخ: 19
    آخرین پست: چهارشنبه 16 بهمن 1392, 10:52 صبح
  2. حجم زیاد نرم افزار پس از ایجاد فایل نصب (اضطراری)
    نوشته شده توسط neo1989021 در بخش C#‎‎
    پاسخ: 8
    آخرین پست: چهارشنبه 10 خرداد 1391, 23:46 عصر
  3. ایجاد فایل نصب یا setup
    نوشته شده توسط خسرو خان در بخش C#‎‎
    پاسخ: 2
    آخرین پست: سه شنبه 15 فروردین 1391, 23:39 عصر
  4. حرفه ای: ابزاری برای ایجاد فایل نصب برای یک وب سایت
    نوشته شده توسط mohsen_kh1364 در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: یک شنبه 14 اسفند 1390, 15:29 عصر
  5. ایجاد فایل نصب برای برنامه
    نوشته شده توسط hamidpro در بخش VB.NET
    پاسخ: 1
    آخرین پست: سه شنبه 15 شهریور 1384, 09:03 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

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