نمایش نتایج 1 تا 14 از 14

نام تاپیک: آپدیت برنامه بدون از دست رفتن اطلاعات

  1. #1
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    آپدیت برنامه بدون از دست رفتن اطلاعات

    سلام

    یه برنامه نوشتم (نیمه حسابداری) با سی شارپ و sql
    برای دوتا مشتری نصب کردم
    الان یه سری از فرمهامو تغییر دادم و چندتا جدول هم اضافه کردم به دیتابیسم و حالا میخوام به بهانه ی آپدیت کردن برنامه، براشون این برنامه جدیده را نصب کنم
    اما نمیدونم چه جوری!
    یه بار بردم نصب کنم ویندوز ارور داد که این برنامه قبلا نصب شده و نمیشه روی ورژن قبلیش نصب بشه!
    روش آپدیت بدون اینکه اطلاعات قبلی مشتریهام بپره چه جوریه؟
    درضمن گزینه ی *کلیک وانس* برای من کارایی نداره چون برای ساخت فایل نصب برنامه،برنامه را پابلیش نمیکنم بلکه از اینستالر خود ویژوال (ستاپ پروجکت) استفاده میکنم
    لطفا راهنمایی کنید
    .
    .
    اگه بدونین فعلا برای آپدیت چکار میکنم خندتون میگیره
    از دیتابیس مشتری بکاپ میگیرم. بکاپو میارم خونه با sql جدولاشو ویرایش میکنم بعدش برنامه مشتری را پاک میکنم و براش جدیده را نصب میکنم و دیتابیس ویرایش شده را توی برنامه جدیده ریستور میکنم!
    چکار کنم خب بلد نیستم دیگه!
    .
    .

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

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

    خب برنامه اش بپره كه مهم نيست
    مهم فقط از بين نرفتن اطلاعات ديتابيس است
    اصلا كلا نرم افزار قبلي راپاك كن نرم افزار جديد را به جاش نصب كن
    اما در مورد ديتابيس اگر تغييرات اساسي در جداول قبلي ندادي يك Script از ديتابيس جديد بساز يعني فقط جداولي كه جديدا اضافه كردي ازشون اسكريپت بساز و نه اون قبلي ها
    اينجوري فقط جداول جديد به پروژه اضافه ميشن و جداول قبلي دست نمي خورن

  3. #3

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

    نرم افزار SQLDeltaV4 را دانلود کنید
    فکر کنم نسخه 5 هم باشه
    این نرم افزار دیتابیس مبدا و مقصد را از شما می گیرد به عنوان مثال
    مبدا می شه دیتابیس اصلی شما که به روز شده هم هست و مقصد می شه همون دیتابیسی که مخصوص
    مشتری هستش و تفاوت این رو به شما نمایش می ده البته با Script.
    خوب حالا شما می تونید هم مستقیم در همون برنامه تغییرات را اعمال کنید
    و یا هم اینکه Script ی که به شما داده را ذخیره کنید و اون را در سیستم مشتری اجرا کنید

  4. #4
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

    نقل قول نوشته شده توسط AmirGhasemi مشاهده تاپیک
    خب برنامه اش بپره كه مهم نيست
    مهم فقط از بين نرفتن اطلاعات ديتابيس است
    اصلا كلا نرم افزار قبلي راپاك كن نرم افزار جديد را به جاش نصب كن
    همه شما بارها انواع نرم افزارها را آپدیت کرده اید. آیا برای آپدیت ، ورژن قبلی را کلا پاک میکنین؟!!!

    نقل قول نوشته شده توسط AmirGhasemi مشاهده تاپیک
    اما در مورد ديتابيس اگر تغييرات اساسي در جداول قبلي ندادي يك Script از ديتابيس جديد بساز يعني فقط جداولي كه جديدا اضافه كردي ازشون اسكريپت بساز و نه اون قبلي ها
    اينجوري فقط جداول جديد به پروژه اضافه ميشن و جداول قبلي دست نمي خورن
    مشکل منم دقیقا همینه یعنی نمیدونم چجوری اینکار را بکنم
    البته اسکریپ بلد بنویسم مثل create table و alter و ... اما نمیدونم چجوری باید فایل exe ازش تولید کنم

    نقل قول نوشته شده توسط Arash_janusV3 مشاهده تاپیک
    نرم افزار SQLDeltaV4 را دانلود کنید

    این نرم افزار تفاوت این رو به شما نمایش می ده البته با Script.
    خوب حالا شما می تونید هم مستقیم در همون برنامه تغییرات را اعمال کنید
    و یا هم اینکه Script ی که به شما داده را ذخیره کنید و اون را در سیستم مشتری اجرا کنید
    ممنون
    همونطور که گفتم خود اسکریپت را بلدم فقط نمیدونم چجوری باید درسش کرد
    چیزی که به ذهنم میرسه اینه که توی خود برنامه بذارم و چک کنه که اگر فلان جدول وجود نداره بسازدش مثل if not exists و...
    اما این کار هم شدنی نیست چون روش آپدیت را هنوز بلد نیستم و درین صورت بازم مجبورم برنامه مشتریمو با هر اطلاعاتی داره پاک کنم و
    این را نصب کنم

  5. #5

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

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

  6. #6
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

    نقل قول نوشته شده توسط Arash_janusV3 مشاهده تاپیک
    خوب شما باید تغییرات احتمالی را exe بنویسید
    بله همونطور که گفتید باید کنترل کنید که آیا چنین تغییری وجود داره یا خیر
    و سپس یک اسکریپت اجرا کنید
    اما برای کنترل کردن تغییرات عجله نکنید این کار را بعد از مراحل پایانی و یا تکمیل شدن پروژه انجام بدید بهتره
    بهترین راه استفاده از همون نرم افزار هستش
    ممنون ولی مثل اینکه باز داریم از جواب دور میشیم
    همه این کارایی که شما فرمودین مربوط به دیتابیسه
    .
    خود برنامه را چکار کنم؟ یه راهی هم واسه اون پیشنهاد بدین

  7. #7
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

    هیشکی هیچ نظری نداره؟
    ینی هیچکس نمیدونه آپدیت چه جوریه؟!!

  8. #8

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

    شما ببخشید :ي

    برای آپدیت برنامه چند گزینه لازمه ...


    1. شما برای همچین برنامه ای باید یک سرور UptIme داشته باشید. با پینگ مناسب....
    2. استفاده از یک کلاس Update برای بررسی نسخه ها و بروز رسانی های جدید بر اساس شناسای (شماره بیلد) و یا امکانات جدید.(این کلاس باید طوری طراحی بشه که هربار برنامه اجراء میشود و یا به صورت دستی بررسی کنه به سرور متصل بشه و فایل جدید رو از روی نسخه و ورژن بخونه و نسخه فایل موجود روی سرور رو به برنامه ارسال کنه در صورت عدم هماهنگی ورژن ها یه Notify نمایش بده)
    3. استفاده از توابع NETWORK STREAM و یا هر توابعی که بتونید ازش فایل آپدیت رو از سرور دریافت نمایید.
    4. استفاده از Threading یا Background Process برای اعمال وظیفه و انجام عملیات بروز رسانی مثل (دریافت /// کپی نمودن در پوشه ای به نام مثلا ///TEMP و در نهایت STOP Process و جایگزینی فایل هایی مانند / DLL , EXE و ...)

  9. #9
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

    نقل قول نوشته شده توسط why.darkness مشاهده تاپیک
    شما ببخشید :ي

    برای آپدیت برنامه چند گزینه لازمه ...


    1. شما برای همچین برنامه ای باید یک سرور UptIme داشته باشید. با پینگ مناسب....
    2. استفاده از یک کلاس Update برای بررسی نسخه ها و بروز رسانی های جدید بر اساس شناسای (شماره بیلد) و یا امکانات جدید.(این کلاس باید طوری طراحی بشه که هربار برنامه اجراء میشود و یا به صورت دستی بررسی کنه به سرور متصل بشه و فایل جدید رو از روی نسخه و ورژن بخونه و نسخه فایل موجود روی سرور رو به برنامه ارسال کنه در صورت عدم هماهنگی ورژن ها یه Notify نمایش بده)
    3. استفاده از توابع NETWORK STREAM و یا هر توابعی که بتونید ازش فایل آپدیت رو از سرور دریافت نمایید.
    4. استفاده از Threading یا Background Process برای اعمال وظیفه و انجام عملیات بروز رسانی مثل (دریافت /// کپی نمودن در پوشه ای به نام مثلا ///TEMP و در نهایت STOP Process و جایگزینی فایل هایی مانند / DLL , EXE و ...)
    سرور دیگه چرا ؟؟؟
    عزیزم برنامه من که تحت شبکه نیست که!
    .
    .
    برنامه من یه win application سادست که برای مشتری هام نصب کردم و حالا میخوام برنامه جدیده را برم واسشون بریزم بدون اینکه لازم باشه برنامه قبلی پاک بشه
    ولی نمیدونم چجوری

    شاید چون من موقع سوال به جای کلمه ی مشتری از client استفاده کردم این سوء تفاهم پیش اومده که جناب why.darkness ذهنشون سراغ سرور و کلاینت رفته

  10. #10

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

    خب دوست من شما میخوای برنامه رو OFFLINE آپدیت کنی ؟ این دیگه چه صیغه ای هست !!! فکر کنم روشی میخوای مثل آپدیت آنتی ویروس ها که فقط ویروس های شناسای شده رو آپدیت میکنه در حالت آفلاین درسته ؟

  11. #11

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

    برای این حالت شما نیاز به گزینه ۲ و ۴ توضیحات بنده دارید.
    ما بقی موارد فقط برای دریافت اطلاعات از روی سرور بود ... حالا که برنامه شما رو سرور نیست و رو کلاینت به صورت آفلاین هست و قراره شما برید حضوری خودتوت آپدیتش کنید فقط ۲ موردی که گفتم میتونه کمکتون کنه.

    ۱.استفاده از کلاس برای تشخیص فایل ها / DLL ها / EXE و هر چیزی که تو برنامه هستش
    ۲.یک کلاسی هم برای کپی و جایگزینی فایل های جدید

    هیمن دو مورد کافیه برای این کار لازم نیست خیلی پیچیده باشه / شما این دو Class رو در نظر بگیری و بر اساس ساختار برنامت درست و مدیریت شده بنویسیش مطمئنان جواب میدهد.

  12. #12
    کاربر دائمی آواتار zayens
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بهارستان
    پست
    591

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

    نقل قول نوشته شده توسط why.darkness مشاهده تاپیک
    1.استفاده از کلاس برای تشخیص فایل ها / DLL ها / EXE و هر چیزی که تو برنامه هستش
    ۲.یک کلاسی هم برای کپی و جایگزینی فایل های جدید
    اگر سوالمو بهتر میخوندین متوجه میشدین که من تا حدودی میدونم یه همچین چیزایی لازمه اما مشکل اینه که ساختنشونو بلد نیستم
    ای کاش یه نفر نمونه برنامه میذاشت

  13. #13
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

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

  14. #14
    کاربر دائمی آواتار patrick5053
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    در دل #C
    سن
    36
    پست
    214

    نقل قول: آپدیت برنامه بدون از دست رفتن اطلاعات

    شما باید در نصب اولیه برنامه رو طوری نصب کنید که پیشنیازهای برنامه مثل dll ها و یا هر چیز دیگه ای که لازمه همراه برنامه نصب بشه.
    خوب تا اینجا برنامه نصب شده.
    حالا برای آپدیت فقط لازمه فایل اجرایی برنامه با فایل اجرایی آپدیت شده جایگزین بشه.
    فقط لازمه در برنامت یه گزینه آپدیت بزاری و توسط اون یه برنامه ساده یک فرمی رو که به برنامت ربطی نداره اجرا کنی و توسط اون مسیر فایل آپدیت رو بگیری بعد با دستور برنامه نویسی برنامه در حال اجرات رو ببندی و فایل exe برنامت روپاک کنی و فایل exe جدید رو در محل نصب کپی کنی.

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

  1. سوال: بازیابی اطلاعات دیتابیس بدون از دست رفتن اطلاعات قبلی دیتابیس
    نوشته شده توسط mehrdad_shahian در بخش C#‎‎
    پاسخ: 4
    آخرین پست: پنج شنبه 20 مرداد 1390, 11:58 صبح
  2. پاسخ: 3
    آخرین پست: پنج شنبه 20 مرداد 1390, 11:48 صبح
  3. آپدیت کردن یک فیلد باینری در Sql بدون از دست رفتن داده های قبلی
    نوشته شده توسط Mohsen_Fotouhi در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 5
    آخرین پست: شنبه 24 مرداد 1388, 22:13 عصر
  4. سوال: تبدیل نوع بزرگتر به کوچکتر بدون از بین رفتن اطلاعات
    نوشته شده توسط kh1387 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: سه شنبه 06 اسفند 1387, 20:34 عصر

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

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