PDA

View Full Version : ساخت Updater برای نرم افزار



H:Shojaei
یک شنبه 09 فروردین 1394, 17:24 عصر
سلام دوستان...
من میخوام تو نرم افزارم امکان آپدیت آنلاین وجود داشته باشه مثل همه نرم افزار هایی که ما استفاده میکنیم و تا نسخه جدید میاد روی آپدیت کلیک میکنیم و نرمافزار آپدیت میشه...
مثلا میخوام اگر بخش جدیدی اضافه شد مثلا یه فرم جدید داشته باشم یا تو یه فرم یه شی جدید اضافه شد مثلا یه کلید، اینها رو با آپدیت به نرم افزار اضافه کنم چکار باید بکنم؟؟
و در این باره هم هیچی نمیدونم سرچ هم زدم ولی خوب حتی نمیدونم چی سرچ کنم جملش سخت میشه!
ممنون میشم به صورت مقدماتی و از پایه راهنمایی کنید...

abdullah20
یک شنبه 09 فروردین 1394, 17:32 عصر
سلام
میتونید به صورت پلاگین بروزرسانی انجام بدید یا بروزرسانی از طریق اینترنت
که روش، مزایا و معایب هر یک متفاوت است

H:Shojaei
دوشنبه 10 فروردین 1394, 23:40 عصر
ممنون دوست عزیز ولی چطور من هیچی دربارش نمیدونم دوستان لینک آموزشی چیزی ندارید!؟ یه مقدماتی هم گفته باشه باقیشو خودم میرم مثلا
تو آپدیت نرم افزار کد ها رو آپدیت میکنن و یا کلا فایلها رو جایگزین میکنن؟ یا کلا باید برنامه دوباره نصب بشه یا یه فایل باز بشه کدهاش تغییر کنه بعد باز ذخیره بشه؟ عکسها فایلهایی که اضافه میشن چطور آپلود و سر جاشون قرار میگیرن و....

aliagamon
سه شنبه 11 فروردین 1394, 00:58 صبح
ابتدا پیشنهاد میکنم برنامه ی خودتونو ماژولار کنید که بروزرسانی در قسمت های ریز دارای حجم کمتری باشند.
برای اپدیت در حالت کلی فایل تغییر یافته به طور کلی جایگزین میشود.
البته در مورد پایگاه داده و غیره روش های خودش رو داره درصورتی که در جداول تغییری ایجاد بشه .
چند نمونه کامپوننت دوستان به صورت رایگان و بعضا همراه با سورس کد و اموزش روی سایت قرار داده اند پیشنهاد میکنم درصورتی که مبتدی هستید از اپدیتر های اماده استفاده کنید.
http://barnamenevis.org/showthread.php?420340-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%A8%D8%B1%D9%88%D8%B2%D8%B1%D8%B3%D8%A7%D9%86%D B%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%D9%87%D8%A7&highlight=%D8%A7%D9%BE%D8%AF%DB%8C%D8%AA
http://barnamenevis.org/showthread.php?412932-%D8%A7%D9%81%D8%B2%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%88%D8%B2%D8%B1%D8%B3%D8%A7%D9%86%D B%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A8%D8%A7-%DB%8C%DA%A9-%DA%A9%D9%84%DB%8C%DA%A9-%28%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF%29&highlight=%D8%A7%D9%BE%D8%AF%DB%8C%D8%AA
البته در حد چند خط در مورد ساخت یک اپدیتر توضیح میدم درصورتی که مایل بودید خودتون کد بزنین سرنخ داشته باشید.اپدیتر یک فایل اگزه جداگانه باید باشه که با اجرا شدنش از یک ادرس پیشفرض بر روی یک هاست اطلاعات اپدیت اخرین ورژن بر روی سرور رو دریافت کنه و در صورت عدم مطالقت با نسخه ی فعلی فایل فشرده حاوی فایل های تغییر یافته را دریافت و سپس از حالت فشرده خارج و جایگزین میکند.
البته در جاهایی که نیاز به اپدیت چند مرحله ای هست(برای مثال نسخه شما 1.0.2 هست و اخرین نسخه 1.1.3 هست باید ابتدا اپدیت های پیشین انجام شود 1.0.2 >1.0.5>1.1>1.1.1>1.1.2 و در نهایت اپدیت نهایی)کمی بیشتر باید روی کدتون وقت بگذارین اما در کل کار سختی نیست حداکثر یک ساعت زمان شما رو به خودش اختصاص میده.
(ولی خدایی اولین بارم بود تا اخر متن تونستم ادبی حرف بزنم :لبخند:)

H:Shojaei
سه شنبه 11 فروردین 1394, 12:02 عصر
ممنون دوست عزیز الآن فهمیدم که برنامه باید ماژول ماژول باشه و جدید ترین نسخه یه حایی تو یه هاست باشه و اگر نسخه نصبی با تو هاسته مطابقت نداشت روی هاسته رو دانلود و فایلهایی که تغییر کردن رو جایگزین کنه...
حالا باز چند تا سوال دیگه پیش میاد...
مثلا کاربر اومده برنامه رو توی مسیری به نا e:/software/mysoftware نصب کرده حالا من چطور بفهمم که برنامه اینجا نصب شده ؟؟؟ که برنامم خودکار فایلهایی که تو اون مسیر هست رو جایگزین جدید ها بکنه؟؟ البته الآن فکر کنم جوابشم پیدا کردم یه فایل اجرا میشه واسه تست این که آپدیت جدید اومده دیگه همون تو مسیر اصلی هست مسیر اون رو بدست بیاریم مسیر نصب نرم افزار رو هم داریم همینطورم میشه؟
و یه سوال دیگه هم این که ماژول های من که مثلا فایهام میشن چطور باید بسازمشون ؟ وقتی یه فرم دارم که مشخصات از کسی که با نرم افزار کار میکنه میگیره و میخوام این فرم علاوه بر ان مشخصات شماره تلفن رو هم که میگرفته بگیره از کاربر باید چطور اون فرمه رو پیدا کنم و جایگزین کنم؟؟
این فایلهایی که روی هاست هستن باید نسخه نصب شده نرمافزار باشن دیگه آره؟؟ چون میخوایم فایلها رو جایگزین کنیم باید با فایلهای نصب شده جایگزین بشه دیگه درسته؟؟
و این که اگر یه عکسی چیزی همراه با فایلها که تو یک فرم استفاده شده موجود باشه تکلیف اون چی میشه؟ البته این عکس فکر کنم همراه با همون فرم هست همیشه نمیدونم همینطوره؟؟
دوستان ممنون میشم راهنمایی کنید...

aliagamon
سه شنبه 11 فروردین 1394, 18:12 عصر
بله اپدیتر تو همون مسیر اصلی برنامتون قرار داره محل اجرای خود فایل میشه پوشه نصب برنامه
ماژولار کردن درواقع تکه تکه کردن فرم ها نیست بهتره همه فرم ها و بخش های مربوط به اینترفیس تو فایل اجرایی اصلی برنامتون باشه و کلاس های کمکیتونو به دی ال ال تبدیل کنید و داخل برنامه استفاده کنید(تاپیک زیاده در این مورد تو فروم)
نسخه نصبی که رو هاست نیست درواقع تمامی فایل های تغییر کرده رو داخل یک فایل فشرده (عمدتا زیپ) قرار میدین تنها کاری که باید بکنید اینه که فایلو دانلود کرده و اکسترک کنید تو محل برنامه
پیشنهاد میکنم اون دوتا لینک پست قبلی رو یه مطالعه کنید

H:Shojaei
سه شنبه 11 فروردین 1394, 20:30 عصر
ممنون دوست عزیز و گرامی تا حدودی فهمیدم چی شد باقیشم باید حین کار یاد بگیرم...
اون پستها رو هم مطالعه کنم فکر کنم سوالی نمونه دیگه...

Mr.Csharp
سه شنبه 11 فروردین 1394, 22:42 عصر
یه نگاه به این فیلم هم کنی ضرری نداره :
http://www.daneshjooyar.com/%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D9%85%D9%84-%D8%A8%D8%B1%D9%88%D8%B2%D8%B1%D8%B3%D8%A7%D9%86%D B%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%AF%D8%B1/