سلام .....من یه پیشنهاد دارم که اگه استفاده کنید نتیجه بدی نداره.....
شما کارهای زیادی متونید برای آپدیت انجام بدید که یک روش رو من میگم, اگه مشکلی داشت یه روش دیگه رو اگه بلد بودم بهت پیشنهاد میکنم.....
اگر نرم افزار شما dtabase sql داره:
1.شما یه windows app جدید وساده طراحی کنید که کار های زیر رو برای update انجام بده(البته میتونید این امکان رو توی برنامتون بزارید که update کنه ولی باید یه آدرس سایتی رو مشخص کنید که فقط تو اون آدرس فایل update تون رو قرار بدید )
2. شما تو برنامه ای که ایجاد کردید یه قطعه کد یا ماژول یا هر چیزی که بشه از بانک sql تون بک آپ بگیرید رو بزارید. حالا یه سوال پیش میاد که بانک نرم افزار رو چطوری پیدا کنم و ازش بک آپ بگیرم, تازه برای فرایند بک آپ من باید یه sqlconnection با یه آدرس مشخص تعیین کنم...
تعریف کانکشن sql کار نداره فقط کافیه شما از کانکشن استرینگ sql که باهاش کار میکنید تو این برنامتون کپی پیست کنید فقط برای پیدا کردنش نام بانک مورد نظر کافیه از :
Application.StartUpPath+"\\dbfolder\\dbfile"
استفاده کنی یعنی قبل از بک آپ گرفتن این عمل رو انجام بدی...برای اینک بانکی که میخواید اطلاعاتش رو حفظ کنید بعد برنامتون رو update کنید که اطلاعات بانک از دست نره باید موقع اجرای عمل update ازتون درخواست انتخاب فایل db کنه...که برای این عمل هم کافیه به محل نصب نرم افزار برید و بانکش رو انتخاب کنید...پس از انتخاب بانک هم به برنامه این امکان رو اضافه کنید که از اون فایل بانک یه کپی بگیره بزار تو قسمت root نرم افزار یا همون روش application.startupath ..منظورم نرم افزاره آپدیته...بعد برای گرفتن بک آپ وارد مرحله بعد برای آپدیت بشه....البته بزارید بک آپ رو سعی کنید تو درایو c بزاره بعد از همونجا هم بتونه بازیابی یا ریستور کنه...
2. تغییراتی که شما تو نرمافزارتون دادید و میخواهید اونو به عنوان update قرار بدید کافیه که فایل exe برنامه رو به همراه database (اگر database تون تو پوشه بود به همراه پوشش کپی کنید)(اگر dll ای یا فایلی به برنامه اضافه کردید رو به همراه فایل exe)رو کپی بگیرید به همراه برنامه update تون بریزید تو یه پوشه ....تا موقع زدن دکمه آپدیت نرم افزار update تون این فایل هارو تو پوشه نرم افزاری که کاربر درسیستمش موجود بوده کپی کنه.برای اینکه کپی کنه کافیه که آدرس محل directory برنامه رو از کاربر بگیره تا فایل هارو ببره اونجا کپی کنه...شما برای اینکه مطمئن شید تو محل مورد نظر یا برنامه ای که میخواید آپدیت شه کپی کنه , کافیه یه دستور شرطی بنویسید که کنترل کنه که اگر فایل exe ای با این نام تو نرم افزار موجود بود عمل کپی رو با موفقیت انجام بده...
3.بعد از اینکه عمل کپی تون تموم شد کافیه آدرس db نرم افزار نصب شده تو سیستم کاربر رو از طریق همین فرایند کپی دریافت کنید و در قسمت connenction string مربوط به عمل ریستور database قرار بدید..بعد از اینکه ریستور گرفت نرم افزارتون Update میشه.......
فقط قبل از عملیات update برنامتون رو حتما ببندید...از پروژه update یه setup تهیه کنید و تو اینترنت بزارید...یا اگه دوست داشتید تو قسمت root پروژتون برید و فایل هاتون رو بردارید بریزید تو یه پوشه بعد تو اینترنت قرار بدید..
این روش ساده بود ولی راه های خیلی ساده تر و بهتری هم وجود داره....