سلام
شاید از نظر حرفه ای نتوانم سورس بسیار بسیار ساده و الکی این برنامه را بدهم ولی هر جایی را شما یا دوستان دیگر بخواهند، میتوانم توضیح دهم تا خودتان برنامه ای بسیار بهتر از این بسازید.
شما نیازمند داشتن یک آدرس اینترنتی هستید، یک وبلاگ هم شاید کافی باشد.
دو مسئله مهم است.
1) آپلود فایلهای جدید در فضای وب که در دسترس دانلود برنامه باشد.
2) ارائه یک مکانیزم برای دادن اطلاعات آپدیتها و آخرین نسخه ها، تا برنامه فقط در صورت آپدیت نبودن اقدام به دانلود کند.
برای این منظور شما میتوانید از webservice ها یا صفحات serverside عادی استفاده کنید و یا حتی از هیچ کدی در سرور استفاده نکنید و تمام اصول را بر مبنای دانلود عادی قرار دهید. (مثلاً zip و xml)
نکته ای که اینجا با اهمیت است نوع اپدیت اینترنتی است.
در یک تقسیم بندی ساده میتوان ان را به دو نوع ساده و پیچیده تفکیک کرد.
- در نوع پیچیده، برنامه بزرگ است و بخشها و dll و exe و فایلهای دیتای متعدد دارد
در این برنامه ها سرویس آپدیت خودش همه کار را انجام میدهد و با اعلام ورژن و سریال و سایر مشخصات خودش (و یا ارسال جداگانه برای هر dll)، اطلاعات آپدیتهای دردسترس را میگیرد و اقدام به دانلود میکند.
در این سیستم باید مکانیزمی برای اجرا شدن یک exe جداگانه در نظر گرفته شود ... و... و...
کار سختی نیست ولی باید کمی فکر کنید و نیازهای حال و آینده را برسی کنید و یک کد مناسب بنویسید.
(این مورد در این برنامه استفاده نشده)
- در نوع ساده (که در همین برنامه فوق الذکر شاهد ان هستید) حجم دانلودی کل برنامه باید پایین باشد و برنامه هم اصول ساده ای داشته باشد.
در این برنامه کل نسخه جدید مجدداً دانلود میشود و حتی در همین نمونه برای سادگی بیشتر فایلها جدید هم Replace نشده اند.
چون در این برنامه جاری کوچک از همین مکانیزم استفاده شده، من همین را با جزئیات بیشتر شرح میدهم.
--- برنامه به سرور و یک آدرس ثابت وصل میشود و کد انحصاری خودش را میدهد (در صورت نیاز یک مقدار license هم فرستاده میشود.)
--- سرور در جواب این اطلاعات یک فایل xml ای حاوی اطلاعات و مشخصات آخرین نسخه ارسال میکند، چیزی شبیه این:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
--- برنامه ضمن چک کردن اطلاعات، اصلی ترین کاری که میکند نسخه خود را با مقدار Version چک میکند.
--- درصورتی که نسخه جدیدتری روی سرور موجود باشد، به لیست دانلودها مراجعه میکند و شروع به دانلود میکند.
--- فایل دانلودی را در محل جاری برنامه ذخیره میکند و در صورت اتمام موفقیت آمیز پیغامی نشان داده و پوشه مربوطه را باز میکند.
مکانیزمی کوتاه و ساده که هر کسی میتواند پیاده سازیش کند و در همین حد هم بدون شک کمک حال خوبی برای کاربر است.
سعی کنید، میتوانید.
موفق باشید.