PDA

View Full Version : حرفه ای: ایجاد یک برنامه که با اینترنت بتوان آن را آپدیت کرد ؟



milad.biroonvand
یک شنبه 17 مهر 1390, 13:05 عصر
سلام

چطور می تونیم ، برنامه ای رو بنویسیم که بتوان هنگامی که کاربر به اینترنت وصل می شود ، آن را بتواند آپدیت کند ،
منظورم از آپدیبت ، آپدیت پایگاه داده ها نیست ، منظورم ، آپدیت یک قسمتی از فرم است ، مثلا یک دکمه به یک قسمت افزوده شود . ؟

اینکار به چه صورت انجام می شود ؟

ArashRoshan
یک شنبه 17 مهر 1390, 15:22 عصر
سلام من هم خیلی دنبال این مورد بودم :گریه:!!!!!

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

اول باید یک فایل txt یا ini یا xml یا هرچیز دیگه برای ورژن برنامه بسازی ، مثلا بنویسی : Version = 2
بعد باید هر دفعه این فایل رو از اینترنت دانلود کنی ببینی آیا ورژن فایل دانلودی از ورژن کنونی بشتر یا نه اگه بیشتر بود روشهای آپدیت به شرح زیر است :

روش اول : (روشی خوب برای برنامه های کم حجم مثلا زیر 50 مگابایت )

باید کل برنامه رو از اینترنت دانلود کنی و بجای برنامه کنونی جایگزین کنی .

روش دوم :(جالب ترین روش )
برنامت Plugin Based باشه یعنی بتونه پلاگین لود کنه .
باید هر قسمت برنامت رو به صورت یک پلاگین بنویسی که هر قسمت رو از یک فایل که مثلا در پوشه ی Plugins قرار داره لود کنی . بعد این پوشه Plugins رو هر دفعه آپدیت کنی و جایگزین کنی ، مثلا می تونی یک منو اضافه کنی به برنامت .

روش سه :( بهترین روش ولی سخت)

از تکنولوژی بسیار پیچیده ی clickonce deployment استفاده کنی . من این روش رو بهت پیشنهاد می کنم که نه جایگزینی کل برنامه و نه پلاگین سازی می خواد ولی سخته ، طرز کارش هم اینه که هردفعه فقط یک قسمت از برنامتو عوض میکنه مثلا همون یک دکمه . اگه می خوای یاد بگیری باید بری تو Google سرچ کنی و منبع فارسی هم نداره !! تازه فکر کنم خود انگلیس زبان ها هم سر در نمیارن چون برنامه sample ندیدم !!:لبخندساده:

oliya24
یک شنبه 17 مهر 1390, 20:23 عصر
من هم یه مدت تو این موضوع در گیر بودم و به همین تگنولوزی رسیدم

Mani_rf
یک شنبه 17 مهر 1390, 22:07 عصر
راه راحت تر اینه که به برنامه نویسی چند لایه مسلط بشی و بتونی برناه را به کلاس های متفاوت تجزیه کنی. در اون صورت برای تغییر یک قسمت از برنامه فقط کافیه تا DLL مربوط به همون قسمت را روی کامپیوتر کاربر دانلود کنه که معمولا حجم این فایل ها به مگابایت هم نمی رسه و به راحتی می تونی برنامه را آپدیت کنی.

milad.biroonvand
دوشنبه 18 مهر 1390, 09:53 صبح
راه راحت تر اینه که به برنامه نویسی چند لایه مسلط بشی و بتونی برناه را به کلاس های متفاوت تجزیه کنی. در اون صورت برای تغییر یک قسمت از برنامه فقط کافیه تا DLL مربوط به همون قسمت را روی کامپیوتر کاربر دانلود کنه که معمولا حجم این فایل ها به مگابایت هم نمی رسه و به راحتی می تونی برنامه را آپدیت کنی.

ظاهر فرم ها ، چی ، ظاهر فرم ها هم باید بصورت یک فایل دی ال ال باشه ؟ ما که تمام کدهایی که می نویسیم ، تو یه فایل exe خلاصه می شه ، پس چجور می تونیم اینکار و بکنیم .

ArashRoshan
دوشنبه 18 مهر 1390, 13:22 عصر
راه راحت تر اینه که به برنامه نویسی چند لایه مسلط بشی و بتونی برناه را به کلاس های متفاوت تجزیه کنی. در اون صورت برای تغییر یک قسمت از برنامه فقط کافیه تا DLL مربوط به همون قسمت را روی کامپیوتر کاربر دانلود کنه که معمولا حجم این فایل ها به مگابایت هم نمی رسه و به راحتی می تونی برنامه را آپدیت کنی.

ممنون از آقای Mani_rf . ولی آیا خودتون امتحان کردید ؟
من امتحان کردم و Dll رو عوض کردم ولی نشد . البته شاید اشتباه می کنم .


ظاهر فرم ها ، چی ، ظاهر فرم ها هم باید بصورت یک فایل دی ال ال باشه ؟ ما که تمام کدهایی که می نویسیم ، تو یه فایل exe خلاصه می شه ، پس چجور می تونیم اینکار و بکنیم .

و اما در این مورد که بسیار جالب است :

شما میتوانید یک فرم لود کننده درست کنی !!! که می تونه حتی فرم خالی باشه یا به به عنوان splash ازش استفاده کنی !!!
1 - به این صورت که یک پروژه معمولی درست می کنی به عنوان اجرا کننده !
2 - یک پروژه ی Class به برنامت اضافه می کنی به عنوان فرم اصلی !! یه وقت نگی <این که کلاسه ، فرم نیست .> وایسا الان می گم .
3 - می ری داخل کلاست و این کد رو بهش اضافه می کنی :
Inherits System.Windows.Forms.Form
4 - اگه نشناخت باید بری داخل refrence های برنامت اونجا System.windows رو به برنامت اضافه کنی !!
5 - جالب ترین جا همین جاست ، اگه دقت کنی کلاست تبدیل میشه به فرم و می تونی توش همون کارهای دکمه و لیبل و تکست باک و .... که تو فرم انجام می دادی رو انجام بدی !!!
6 - حالا خیلی جالبه که بدونی دیگه فرم اصلی با پسوند exe ذخیره نمی شه و پسوندش dll هست !!!!!!!
7 - حالا برگرد به فرم لود کنندت و موقع لود شدن بگو فرم اصلی برنامت رو اجرا کنه !!! حالا می تونی به روش آقای Mani_rf (البته اگه می شه) برنامت رو با عوض کردن Dll تغییر بدی .

milad.biroonvand
سه شنبه 19 مهر 1390, 11:40 صبح
ممنون از آقای Mani_rf . ولی آیا خودتون امتحان کردید ؟
من امتحان کردم و Dll رو عوض کردم ولی نشد . البته شاید اشتباه می کنم .



و اما در این مورد که بسیار جالب است :

شما میتوانید یک فرم لود کننده درست کنی !!! که می تونه حتی فرم خالی باشه یا به به عنوان splash ازش استفاده کنی !!!
1 - به این صورت که یک پروژه معمولی درست می کنی به عنوان اجرا کننده !
2 - یک پروژه ی Class به برنامت اضافه می کنی به عنوان فرم اصلی !! یه وقت نگی <این که کلاسه ، فرم نیست .> وایسا الان می گم .
3 - می ری داخل کلاست و این کد رو بهش اضافه می کنی :
Inherits System.Windows.Forms.Form
4 - اگه نشناخت باید بری داخل refrence های برنامت اونجا System.windows رو به برنامت اضافه کنی !!
5 - جالب ترین جا همین جاست ، اگه دقت کنی کلاست تبدیل میشه به فرم و می تونی توش همون کارهای دکمه و لیبل و تکست باک و .... که تو فرم انجام می دادی رو انجام بدی !!!
6 - حالا خیلی جالبه که بدونی دیگه فرم اصلی با پسوند exe ذخیره نمی شه و پسوندش dll هست !!!!!!!
7 - حالا برگرد به فرم لود کنندت و موقع لود شدن بگو فرم اصلی برنامت رو اجرا کنه !!! حالا می تونی به روش آقای Mani_rf (البته اگه می شه) برنامت رو با عوض کردن Dll تغییر بدی .

سلام

اگه میتونی یک نمونه برنامه رو سایت بزار که همه بتونیم ، ازش استفاده کینم ، یا یه قسمتی ازش رو بزار تا من ، سایر قسمتهاشو تو یه هاست آپلود کنم ، و بتونه برنامه ی مثلا نسخه ی 1 به نسخه 2 آپدیت بشه .

موفق باشی

oliya24
شنبه 30 مهر 1390, 23:44 عصر
سلام من یکم گشتم و به یه برنامه رسیدم لینکش رو میزارم برای دانلود اما لطف کنید اگر وقت کردید برنامه رو تجزیه و تحلیل کنید همینجا یه اموزش ازش بزارید شرمنده این درخواست رو دارم اینم لینک
http://www.persianupload.com/2863076

milad.biroonvand
یک شنبه 01 آبان 1390, 19:12 عصر
سلام من یکم گشتم و به یه برنامه رسیدم لینکش رو میزارم برای دانلود اما لطف کنید اگر وقت کردید برنامه رو تجزیه و تحلیل کنید همینجا یه اموزش ازش بزارید شرمنده این درخواست رو دارم اینم لینک
http://www.persianupload.com/2863076

سلام

مر30 از لینکت ، بله حتما .

milad.biroonvand
یک شنبه 01 آبان 1390, 19:25 عصر
سلام من یکم گشتم و به یه برنامه رسیدم لینکش رو میزارم برای دانلود اما لطف کنید اگر وقت کردید برنامه رو تجزیه و تحلیل کنید همینجا یه اموزش ازش بزارید شرمنده این درخواست رو دارم اینم لینک
http://www.persianupload.com/2863076


دوست عزیز اگه میتونی ، سایتی که این برنامه رو گذاشته هم همینجا بزار .

oliya24
یک شنبه 01 آبان 1390, 22:06 عصر
متاسفانه باید بگم شرمندم ادرس رو ندارم

oliya24
دوشنبه 02 آبان 1390, 02:19 صبح
سلام و خسته نباشید من یه لینک گیر اوردم خودم روش کار میکنم اما خواهش میکنم شما هم کار کنید چون همش انگلیسیه و من هم زیاد ترجمه بلد نیستم ok پس از دوستان تقاضا میکنم ما رو یاری کنن
http://msdn.microsoft.com/en-us/library/ms404263.aspx
ترجمه صفحه اول زیاد مشکل نیست ولی همین لینک لینکهای دیگه ای هم داره که خیلی میتونه به ما کمک کنه پس بازم تقاضا دارم کمک کنیدتا قضیه این کار رو حل کنیم

milad.biroonvand
دوشنبه 02 آبان 1390, 10:18 صبح
سلام و خسته نباشید من یه لینک گیر اوردم خودم روش کار میکنم اما خواهش میکنم شما هم کار کنید چون همش انگلیسیه و من هم زیاد ترجمه بلد نیستم ok پس از دوستان تقاضا میکنم ما رو یاری کنن
http://msdn.microsoft.com/en-us/library/ms404263.aspx
ترجمه صفحه اول زیاد مشکل نیست ولی همین لینک لینکهای دیگه ای هم داره که خیلی میتونه به ما کمک کنه پس بازم تقاضا دارم کمک کنیدتا قضیه این کار رو حل کنیم

سلام

تا میتونم رو این قضیه کار می کنم ،

بازم ازت بابت تلاش هایی که میکشی تشکر می کنم .

موفق باشی

oliya24
جمعه 06 آبان 1390, 15:14 عصر
سلام اقا من با یکی از دوستانم در این مورد صحبت کردم گفت که من این کار رو با تکنولوژی click once انجام دادم ولی گفت اگر بخواهی کمکت کنم که این کار رو به صورت عملی انجام بدی باید یه سرور بگیری که مثلا اگر خواستی یه فایل رو به برنامه اضافه کنی و بعد برنامت رو اپدیت کنی اون فایل رو میزاری تو سرور و بعد برنامه هم اون رو برمیداره حالا من خودم دنبال یه سرور هستم باید ببینم دوستام بم میدن یا نه ؟؟؟؟

ArashRoshan
جمعه 06 آبان 1390, 15:24 عصر
خب درسته ، از کارتون ممنون . ولی خب هر آپدیتی از سرور انجام میشه(درسته !) . میتونی از سرور های رایگان DropBox یا احتمالا از Microsoft Skydrive استفاده کنی . هر دو رایگانند ،
من در اسرع وقت آموزش ClickOnce رو قرار میدم .

oliya24
جمعه 06 آبان 1390, 17:08 عصر
اگر بتونید و این مسئله پدیت کردن رو حل کنید و یه توضیحی در مورد انواع اپدیتها بدید ممنونت میشم
با تشکر

milad.biroonvand
شنبه 07 آبان 1390, 08:15 صبح
سلام اقا من با یکی از دوستانم در این مورد صحبت کردم گفت که من این کار رو با تکنولوژی click once انجام دادم ولی گفت اگر بخواهی کمکت کنم که این کار رو به صورت عملی انجام بدی باید یه سرور بگیری که مثلا اگر خواستی یه فایل رو به برنامه اضافه کنی و بعد برنامت رو اپدیت کنی اون فایل رو میزاری تو سرور و بعد برنامه هم اون رو برمیداره حالا من خودم دنبال یه سرور هستم باید ببینم دوستام بم میدن یا نه ؟؟؟؟

شما ، فایلی که می خوای بزاری رو به من بده ، من برا رو یه سرور آپلود می کنم ، یوزر و پسورد ftp یا دیتابیسشو هم میدم . سرور رایگاهن هم هست .

ArashRoshan
شنبه 07 آبان 1390, 11:50 صبح
سلام
من با استفاده از یک مقاله که از اینترنت گرفتم تونستم ، برنامه ی آپدیت شونده بسیار راحت درست کنم :
این روش به دو صورت قابل پیاده سازی است :

1 - به صورت اتوماتیک از طریق خود برنامه .
2 - به صورت دستی و با استفاده از کد .

گزینه 2 بهتره چون می تونید UI (قیافه ی آپدیت کننده ) اون رو خودتون بسازید و سختره خوب و احتیاج به کد نویسی داره ، ولی گزینه 1 همه کار رو خود برنامه انجام می ده .

آدرس مقاله
http://weblogs.asp.net/shahar/archive/2008/01/29/how-to-use-clickonce-to-deploy-your-applications.aspx

مقاله به صورت تصویری هستش و شما به راحتی می تونید این کار رو انجام بدید .

oliya24
شنبه 07 آبان 1390, 19:59 عصر
این لینک خرابه برادر میشه تجربیاتت رو اینجا فارسی به ما یاد بدی فکر میکنم یه ملت رو با این کارت مدیونت میکنی؟؟؟لطفا این کار رو بکن خواهش میکنم

milad.biroonvand
یک شنبه 08 آبان 1390, 10:50 صبح
سلام
من با استفاده از یک مقاله که از اینترنت گرفتم تونستم ، برنامه ی آپدیت شونده بسیار راحت درست کنم :
این روش به دو صورت قابل پیاده سازی است :

1 - به صورت اتوماتیک از طریق خود برنامه .
2 - به صورت دستی و با استفاده از کد .

گزینه 2 بهتره چون می تونید UI (قیافه ی آپدیت کننده ) اون رو خودتون بسازید و سختره خوب و احتیاج به کد نویسی داره ، ولی گزینه 1 همه کار رو خود برنامه انجام می ده .

آدرس مقاله
http://weblogs.asp.net/shahar/archive/2008/01/29/how-to-use-clickonce-to-deploy-your-applications.aspx

مقاله به صورت تصویری هستش و شما به راحتی می تونید این کار رو انجام بدید .

سلام

لینک خرابه ، اگه میشه لینک درستش بزار ، ببینیم چیه

مر30

ArashRoshan
یک شنبه 08 آبان 1390, 20:14 عصر
سلام
هرچی توی اون سایت هستش رو ترجمه کردم : بفرمایید :
البته شاید از نگارشم خوشتون نیاد ولی خوب هم ترجمه است و ه م سریع نوشتم ، به بزرگی خودتون ببخشید .
توی این مقاله چگونگی انجام یک پروژه ی Clickonce به صورتی بسیار ساده گفته شده است .

http://www.4shared.com/document/9tc8AaH5/How_to_Clickonce.html

mansourii
یک شنبه 08 آبان 1390, 21:43 عصر
من حیرون موندم !

چرا انقدر کار خودتون رو سخت می کنید / این کارها که نمیخواد انجام بدید
اینکاری رو که من میگم انجام بدید 100 در 100 کار میکنه (خودم از این روش استفاده میکنم)

اول باید یک هاست و دامنه برای خودتون بخرید بعد از طریق FTP به نرم افزارتون دسترسی پیدا کنید
یعنی اف تی پی شما میشه پدر و نرم افزار شما میشه فرزند ( اینها همش توی سرور هست ها- یعنی پدر و پسر هر دو سرور اند)

فقط توی نرم افزارتون یک متغییر بولی تعریف کنید که هر دفعه نرم افزار لود میشه بره چک کنه که اگه یک بود بره از اف تی پی شما تغییرات نرم افزار رو اعمال کنه مثلا مسیج باکس های جدید بزاره یا مثلا کلا عوض بشه! و اگر هم صفر بود یعنی تغییری ایجاد نشده و نرم افزار بصورت قبلی بالا بیاد


تنها و تنها کاربرد اف تی پی:
مثلا شما برای یک شرکت یک نرم افزار تولید می کنید و در عوض سه فقره چک بهتون میده /اگه چکش پاس نشد میتونید از طریق اف تی پی کل نرم افزارتون رو Disable کنید (این روش تنها موقعی کاربرد داره که طرف به اینترنت یا اینترانت وصل باشه - اگه به اینترنت وصل نبود باید برای نرم افزارتون وقت تعیین کنید تا تاریخ چک ها بیشتر کار نکنه و ازش ریجستر بخواد)

چون فکر میکنم نیازه (وقتی شرکت رفتم براتون sample می زارم)

oliya24
یک شنبه 08 آبان 1390, 22:47 عصر
اقا ارش از لطف بزرگی که کردید ممنونم ولی من یه چیز رو متوجه نشدم شاید براتون خنده دار باشه ولی من به این موضوع برخوردم ببینید فرض کنید یه برنامه نوشتیم که مثلا زمینش ابی هستش و فروختیمشبه یه شرکت تو مثلا کرمانشاه خوب بعد زنگ میزنن و میگن ما میخواییم رنگ زمینه قرمز باشه تا اینجا ok
ما هم برنامه رو که نوشتیم داریم تغیرات رو توش اعمال میکنیم و بعد مثلا از طریق اینترنت به یه ادرس برنامه رو براشون اپلود میکنیم خوب
حال کاری که اون شرکت تو کرمانشاه باید انجام بده چیه تا بتونه برنامه ای که ما اپلود کردیم رو برداره؟؟؟

ArashRoshan
یک شنبه 08 آبان 1390, 23:52 عصر
من حیرون موندم !

چرا انقدر کار خودتون رو سخت می کنید / این کارها که نمیخواد انجام بدید
اینکاری رو که من میگم انجام بدید 100 در 100 کار میکنه (خودم از این روش استفاده میکنم)

اول باید یک هاست و دامنه برای خودتون بخرید بعد از طریق FTP به نرم افزارتون دسترسی پیدا کنید
یعنی اف تی پی شما میشه پدر و نرم افزار شما میشه فرزند ( اینها همش توی سرور هست ها- یعنی پدر و پسر هر دو سرور اند)

فقط توی نرم افزارتون یک متغییر بولی تعریف کنید که هر دفعه نرم افزار لود میشه بره چک کنه که اگه یک بود بره از اف تی پی شما تغییرات نرم افزار رو اعمال کنه مثلا مسیج باکس های جدید بزاره یا مثلا کلا عوض بشه! و اگر هم صفر بود یعنی تغییری ایجاد نشده و نرم افزار بصورت قبلی بالا بیاد


تنها و تنها کاربرد اف تی پی:
مثلا شما برای یک شرکت یک نرم افزار تولید می کنید و در عوض سه فقره چک بهتون میده /اگه چکش پاس نشد میتونید از طریق اف تی پی کل نرم افزارتون رو Disable کنید (این روش تنها موقعی کاربرد داره که طرف به اینترنت یا اینترانت وصل باشه - اگه به اینترنت وصل نبود باید برای نرم افزارتون وقت تعیین کنید تا تاریخ چک ها بیشتر کار نکنه و ازش ریجستر بخواد)

چون فکر میکنم نیازه (وقتی شرکت رفتم براتون sample می زارم)

آقا فکر کن یه برنامه نوشتی 20MB حجمشه ، می خوای همشو هر دفعه دانلود کنی ! اگه این طور نیست ، بگو چطور مسیج باکس های جدید اضافه کنیم ؟ منظورم اینه که هردفعه برای مسیج باکس های جدید باید کل برنامه عوض بشه ، درست میگم ؟ اگر هم منظورتون اینه که DLL بسازیم و کنار برنامه بذاریم ، درسته ، شاید بشه (برای من نشد) ولی خب یک دفعه خواستی یه متغیر به برنامه اضافه کنی ، خب حالا چکار میکنی ؟ ولی ClickOnce دقیقا همون یک متغیر رو اضافه میکنه .


ولی آقای الیا24 ، چرا خنده دار ؟ سوال جالبیه اتفاقا ، لطفا هیچ جا این طور نگید و لطفا این خط رو حذفش کنید ، به همه میگم ، ما این جا برای کمک و افزایش دانش اومدیم .

من راه حلی برای مشکل شما دارم :

می تونی یک Ftp برای فقط این برنامه بسازید. یعنی خصوصی سازی انجام بدید . و هر آپدیت این برنامه رو داخل این FTP بذاری . واضح تر اینکه یک FTP برای یک برنامه .

ولی باز هم تحقیق می کنم و اطلاعات بیشتری بهتون میدم .

milad.biroonvand
دوشنبه 09 آبان 1390, 08:27 صبح
آقا فکر کن یه برنامه نوشتی 20MB حجمشه ، می خوای همشو هر دفعه دانلود کنی ! اگه این طور نیست ، بگو چطور مسیج باکس های جدید اضافه کنیم ؟ منظورم اینه که هردفعه برای مسیج باکس های جدید باید کل برنامه عوض بشه ، درست میگم ؟ اگر هم منظورتون اینه که DLL بسازیم و کنار برنامه بذاریم ، درسته ، شاید بشه (برای من نشد) ولی خب یک دفعه خواستی یه متغیر به برنامه اضافه کنی ، خب حالا چکار میکنی ؟ ولی ClickOnce دقیقا همون یک متغیر رو اضافه میکنه .


ولی آقای الیا24 ، چرا خنده دار ؟ سوال جالبیه اتفاقا ، لطفا هیچ جا این طور نگید و لطفا این خط رو حذفش کنید ، به همه میگم ، ما این جا برای کمک و افزایش دانش اومدیم .

من راه حلی برای مشکل شما دارم :

می تونی یک Ftp برای فقط این برنامه بسازید. یعنی خصوصی سازی انجام بدید . و هر آپدیت این برنامه رو داخل این FTP بذاری . واضح تر اینکه یک FTP برای یک برنامه .

ولی باز هم تحقیق می کنم و اطلاعات بیشتری بهتون میدم .



سلام

مر30 ، مطالبتون خیلی خوب بود منتظر توضیحات بیشتر و نمونه هاتون هستیم .

موفق باشید

milad.biroonvand
دوشنبه 16 آبان 1390, 23:51 عصر
سلام

لطفا نزارید تاپیک بخوابه و ایده های جدید بدید .

sadeghlinux
سه شنبه 17 آبان 1390, 03:31 صبح
با سلام

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

لطفا همه با هم تلاش بکنیم که یه تاپیک خوب بسازیم و هرکی میاد این تاپیکو دنبال میکنه دست پر بیرون بره

milad.biroonvand
سه شنبه 17 آبان 1390, 10:04 صبح
با سلام

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

لطفا همه با هم تلاش بکنیم که یه تاپیک خوب بسازیم و هرکی میاد این تاپیکو دنبال میکنه دست پر بیرون بره

سلام

بله حتما ، سایر دوستان هم تلاش کنند .

oliya24
سه شنبه 17 آبان 1390, 14:46 عصر
دوستان از میان شما کسی هست که این کار رو به صورت عملی انجام دادا باشه البته با استاده از اموزشی که قرار داده شد؟؟؟؟؟
لطفا بگید

mehrdad1991h
چهارشنبه 18 آبان 1390, 01:43 صبح
پس از جستجوی فراوان بالاخره این تاپیک پیدا شد
همه جا اخرش ختم شده به همون Clickonce من روش کار کردم یکم پیچیدس ولی در نهایت نتونستم هنوز اجراییش کنم:گریه:

به نظر من اگه اقای mansourii (http://barnamenevis.org/member.php?165653-mansourii) بر میگشتند و حداقل یه نمونه که قولش را داده بودن میزاشتن عالی میشد
روشی که گفتن هم خیلی خوبه فقط نیازمند یه نمونه هستیم تا اجرا کنیم ببینیم چوریه

یکی به نظرتون بهتر نیس خبرشون کنه ؟(یه پی ام ارسال کردم براشون

حالا یکی دیگه از مشکلات من اینه که اقا یه موقع میشه طرف همه جوره جلو اپدیت را میگیره
میخوایم یه کاری بکنیم که اول برا اپدیت چک بکنه برنامه را بعد اجرا کنه بقیه قسمتا را
کسی نظری نداره ؟

milad.biroonvand
چهارشنبه 18 آبان 1390, 19:59 عصر
من با دی ال ال تونستم یه مقدار پیش برم ولی کار جالب در نمیاد ،

alimanam
پنج شنبه 19 آبان 1390, 01:10 صبح
با سلام

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

موفق باشید ./

milad.biroonvand
پنج شنبه 19 آبان 1390, 16:28 عصر
با تشکر از فایل شما .

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

مر30

alimanam
جمعه 20 آبان 1390, 00:02 صبح
با سلام


ما هدفمون ، یه تابع که از روس سرور چک کنه نیست . هدفمون اینه که یه برنامه که کلا یه نسخه قدیمی باشه و از تو اینترنت آپدیت بشه .

در این باره شما میتونی از روش های متعدد و ابتکاری خودت استفاده کنی واین تعدد روش بر میگرده به نوع برنامه نویسی شما به طور مثال اگه برنامه شما از پلاگین استفاده میکنه میتونی با دانلود فایل های مورد نیاز و معرفی اونها به برنامه خودت اون رو آپدیت کنی یا اگه کل برنامه تغییر کرده میشه با دانلود نسخه جدید و جایگزین کردن برنامه جدید با قبلی اون رو آپدیت کنی . در ضمن اون مثالی که من زدم در تمامی این روش ها کاربرد داره یعنی اینکه هر روشی رو بخوای بری باید قبلش چک کنی که آیا اصلا نسخه جدیدی ( فایل آپدیت جدیدی ) موجود هست که بخوایم ادامه کار رو انجام بدیم یا نه !
دوستان کمی وقت بزارن میتونن کاملش کنن خودم در یکی از برنامه های خودم (http://barnamenevis.org/showthread.php?258634) البته با کمی تغییرات دارم از همین روش برنامه رو آپدیت میکنم .

موفق باشید ./

milad.biroonvand
دوشنبه 30 آبان 1390, 14:50 عصر
سلام

کسی از دوستان نتونست ابتکاری در این باره بده . ، ما منتظریم .

mohamnag
دوشنبه 30 آبان 1390, 16:25 عصر
سلام
نمی دونم الان برای جواب دادن دیره یا نه اما من یه سرچ ساده توی اینترنت کردم و نتیجه ش این بود:
1. کلیک وانس به درد منظور شما نمی خوره چون برنامه باید از روی یک سرور نصب بشه و بعدا امکان عوض کردن آدرسی که برنامه ازش نسب شده وجود نداره. عملا برنامه فقط از وب اجرا میشه و روی کامپیوتر طرف کش میشه. مشکل دیگه کلیک وانس اینه که برنامه برای کاربر جاری نصب میشه نه برای کل ماشین، این نتیجه اش اینه که اگر کامپیوتر مورد نظر توسط بیش از یک کاربر استفاده بشه باید برای هر کاربر یه نسخه نصب بشه و هر کاربر باید جدا آپدیت کنه و . ..
2. راه حل دومی که پیدا کردم استفاده از سیستم آپدیت ویندوزه، این البته احتمالا مشکلات خودش رو داره. چون نسخه ویندوز اکس پی که الان روی بیش از 40 درصد کامپیوتر های کاربرها نصبه این سیستم رو نداره. از طرف دیگه هم شما باید سرور مخصوص خودتون رو داشته باشید که نرم افزار خاصی (یه سرور ویژه) باید روش نصب باشه و . .. خلاصه اینکه هزینه اش اینقدر هست که اگر تعداد بالا نباشه نمی ارزه.
3. راه حل بهتری که پیدا کردم استفاده ازاین کامپاننت دات نت هست. البته این به زبان سی شارپ نوشته شده اما فکر نکنم مشکلی برای استفاده با وی بی داشته باشه: http://wyday.com/wyupdate/

من به شخصه متاسفانه مشکل زمانی دارم که بیشتر توی این قضیه دقیق بشم اما فکر می کنم راه حل هایی که ارائه شده تو این لینک خیلی جامع باشن:
http://stackoverflow.com/questions/276916/click-once-all-users

milad.biroonvand
دوشنبه 30 آبان 1390, 17:54 عصر
سلام
نمی دونم الان برای جواب دادن دیره یا نه اما من یه سرچ ساده توی اینترنت کردم و نتیجه ش این بود:
1. کلیک وانس به درد منظور شما نمی خوره چون برنامه باید از روی یک سرور نصب بشه و بعدا امکان عوض کردن آدرسی که برنامه ازش نسب شده وجود نداره. عملا برنامه فقط از وب اجرا میشه و روی کامپیوتر طرف کش میشه. مشکل دیگه کلیک وانس اینه که برنامه برای کاربر جاری نصب میشه نه برای کل ماشین، این نتیجه اش اینه که اگر کامپیوتر مورد نظر توسط بیش از یک کاربر استفاده بشه باید برای هر کاربر یه نسخه نصب بشه و هر کاربر باید جدا آپدیت کنه و . ..
2. راه حل دومی که پیدا کردم استفاده از سیستم آپدیت ویندوزه، این البته احتمالا مشکلات خودش رو داره. چون نسخه ویندوز اکس پی که الان روی بیش از 40 درصد کامپیوتر های کاربرها نصبه این سیستم رو نداره. از طرف دیگه هم شما باید سرور مخصوص خودتون رو داشته باشید که نرم افزار خاصی (یه سرور ویژه) باید روش نصب باشه و . .. خلاصه اینکه هزینه اش اینقدر هست که اگر تعداد بالا نباشه نمی ارزه.
3. راه حل بهتری که پیدا کردم استفاده ازاین کامپاننت دات نت هست. البته این به زبان سی شارپ نوشته شده اما فکر نکنم مشکلی برای استفاده با وی بی داشته باشه: http://wyday.com/wyupdate/

من به شخصه متاسفانه مشکل زمانی دارم که بیشتر توی این قضیه دقیق بشم اما فکر می کنم راه حل هایی که ارائه شده تو این لینک خیلی جامع باشن:
http://stackoverflow.com/questions/276916/click-once-all-users

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

mohamnag
دوشنبه 30 آبان 1390, 18:28 عصر
باز هم سلام
همون طور که عرض کردم متاسفانه فرصت زدن مثال ندارم، چون خودم هم با این سیستم ها کار نکردم اما با سرچ تو اینترنت واقعا بینهایت راه حل پیدا می کنید:
اینم یه مقاله دیگه که از یه کامپاننت از خود مایکروسافت استفاده کرده: http://windowsclient.net/articles/appupdater.aspx
اگر اینها به دردتون نخورد به سرچ من تو گوگل نگاه کنید و دنبال راه حل مناسب خودتون باشید:
http://www.google.at/search?gcx=w&sourceid=chrome&ie=UTF-8&q=automatic+updater+for+.net+application

milad.biroonvand
سه شنبه 01 آذر 1390, 09:34 صبح
باز هم سلام
همون طور که عرض کردم متاسفانه فرصت زدن مثال ندارم، چون خودم هم با این سیستم ها کار نکردم اما با سرچ تو اینترنت واقعا بینهایت راه حل پیدا می کنید:
اینم یه مقاله دیگه که از یه کامپاننت از خود مایکروسافت استفاده کرده: http://windowsclient.net/articles/appupdater.aspx
اگر اینها به دردتون نخورد به سرچ من تو گوگل نگاه کنید و دنبال راه حل مناسب خودتون باشید:
http://www.google.at/search?gcx=w&sourceid=chrome&ie=UTF-8&q=automatic+updater+for+.net+application

سلام
مر30 ، این خیلی مطلب جالبی بود ، می خونمش اگه بکار اومد یه مثال ازش درست می کنم ، می زارم رو سایت ، ببینم چطوره ،

mmohammadian72
دوشنبه 17 بهمن 1390, 11:41 صبح
سلام یه مقاله فارسی در مورد publish هست که می تونه کمکتون کنه.http://www.itnee.com/Article.aspx#Publish

pcdownload.bloghaa.com
دوشنبه 17 بهمن 1390, 23:32 عصر
من معمولترین روشش را بهتون میگم.انتخاب با خودتونه.

برنامه های درست و حسابی شرکت هایی مثل موزیلا یا ادوبی یا مایروسافت یا ... هیچ وقت نمیان کل برنامه را در یک فایل exe بریزن و تمام!

برنامه ما از چند قسمت اصلی تشکیل میشه: فرم ها و توابع و رویداد ها و متغیر ها و ....

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

اما راحتترین روش
یک روش دیگه هم اینه که از روی هاست چک کنه اگه ورژن جدید اومده بود اونو دانلود و اجرا کنه و خودش خارج بشه.ورژن جدید هم میاد نصب میشه رو قدیمی و تمام.در ضمن معمولا یه فایل exe خالی 20 مگابایت نمیشه.ممکنه همراه با فایلهای کناریش 20 مگا یا بیشتر بشه که میتونین تو نصاب ورژن جدید کاری کنید که فقط exe عوض بشه.همین.

یه ذره حوصله و وقت بزارین حله.

omid5ive
شنبه 17 تیر 1391, 15:08 عصر
سلام
نميدونم جايي كه دارم مشكلم رو مطرح مي كنم درست هست يا بايد تو يه تاپيك ديژه مطرحش مي كردم
من 1 پكيج دارم كه شامل 2 تا فايل هست
1- يك فايل با فرمت qvw
2- فايل ديگر exe
من مي خوام برنامه رو از طريق clickonce بر روي كلاينت ها نصب كنم. براي ساخت clickonce هم از mage استفاده مي كنم
وقتي با mageui كار مي كنم هيچ مشكلي ندارم ولي وقتي مي خوام با mage.exe و از طريق command باهاش كار كنم به مشكل مي خورم
مشكل هم اضافه كردن پسوند .deploy به فايل ها هست كه مثل اينكه تو mage در حالت command پارامتري نداره (يا من بلد نيستم)
حالا مي خواستم بدونم راحي وجود داره كه بتونم اين مشكل رو حل كنم؟
command هايي هم كه براي اين كار استفاده مكنم به اين شكل هست:
application: mage -New Application -ToFile dashboard.exe
.manifest -name "dashboard" -Version 1.0.0.1 -FromDirectory C:\Inetpub\wwwroot\D
ashboard\1.0.0.1 -S dashboard.exe.manifest -CertFile C:\Users\ebrahimi.BARIDSOFT
\Desktop\Clickonce\setup.pfx -um true

Deployment : mage -New Deployment -Publisher "BaridBI" -ProviderUrl "http://155.155.5.100/dashboard/dashboard.application" -AppManifest C:\Inetpub\wwwroot\Dashboard\1.0.0.1\dashboard.exe .manifest -ToFile c:\inetpub\wwwroot\dashboard\dashboard.applicatio
n

firoozi90
سه شنبه 27 خرداد 1393, 11:27 صبح
سلام دوستان
لطفا به این تایپیک یه سر بزنید و راهنمایی کنید
Publish نرم افزار در لوکال و استفاده در سرور (http://barnamenevis.org/showthread.php?456774-Publish-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%AF%D8%B1-%D9%84%D9%88%DA%A9%D8%A7%D9%84-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%AF%D8%B1-%D8%B3%D8%B1%D9%88%D8%B1)

Navid Asadi
شنبه 31 خرداد 1393, 14:13 عصر
من یه سرویس واسه این کار راه انداختم
کار رو خیلی راحت میکنه یه dll به برنامه اضافه میکنی همه کار برات میکنه از پشتیبانی و مدیریت کاربری و آپدیت و ارتقا بگیر تا ریجستر کردن برنامه و گرفتن اطلاعات مشتری و trial و...
ولی پولیه
اگه دوست داشتی پیام خصوصی بده