PDA

View Full Version : حرفه ای: آپدیت اتوماتیک نسخه نرم افزار



dab_hrd
سه شنبه 15 مرداد 1398, 13:00 عصر
با سلام
من یک برنامه تحت شبکه دارم با حدود 140 کلاینت
مشکل اینجاست که وقتی می خواهم نسخه جدیدی بدهم باید برای تک تکشان دستی کپی نمایم
می خواهم بدانم آیبا روشی وجود دارد که نسخه جدید اتوماتیک توسط کلاینت تشخیص و کپی شود
ممنون

farhad_shiri_ex
سه شنبه 15 مرداد 1398, 13:55 عصر
با سلام
من یک برنامه تحت شبکه دارم با حدود 140 کلاینت
مشکل اینجاست که وقتی می خواهم نسخه جدیدی بدهم باید برای تک تکشان دستی کپی نمایم
می خواهم بدانم آیبا روشی وجود دارد که نسخه جدید اتوماتیک توسط کلاینت تشخیص و کپی شود
ممنون
یک روش این هست که یک برنامه برای به روز رسانی کلاینت ها داشته باشید! یعنی برنامه ای بنویسید که به صورت مقیم در حافظه در ویندوز تعریف بشه! ودر زمانهای تعریف شده ای کنترل کند که آیا شما نسخه ی به روزی را در مخزن مورد نظرتون قرار دادید، در صورت موجود بودن نسخه به روز به کاربر پیغام بدهد که باید نرم افزار را به روز کنه و خود همین نرم افزار این کار را انجام بده!
و البته می توانید از وب سرویس ها هم استفاده کنید منتهی مشکل این کار این هست که شاید کلاینتهای شما به اینترنت متصل نباشند! ولی همیشه به شبکه داخلی خودشون متصل هستند!

یک نمونه ساده برنامه System Try

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Windows.Forms;


namespace NotifyConsole
{
class Program
{
private System.Windows.Forms.NotifyIcon notifyIcon1;
private System.Windows.Forms.ContextMenu contextMenu1;
private System.Windows.Forms.MenuItem menuItem1;
private System.ComponentModel.IContainer components;


static void Main(string[] args)
{

Program pg = new Program();
//pg.CreateNotifyicon();
Application.Run();
Console.ReadLine();
}
Program()
{
CreateNotifyicon();
}
private void CreateNotifyicon()
{
this.components = new System.ComponentModel.Container();
this.contextMenu1 = new System.Windows.Forms.ContextMenu();
this.menuItem1 = new System.Windows.Forms.MenuItem();

// Initialize menuItem1
this.menuItem1.Index = 0;
this.menuItem1.Text = "E&xit";
this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);

// Initialize contextMenu1
this.contextMenu1.MenuItems.AddRange(
new System.Windows.Forms.MenuItem[] { this.menuItem1 });

// Create the NotifyIcon.
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);

// The Icon property sets the icon that will appear
// in the systray for this application.
notifyIcon1.Icon = new Icon("Icon1.ico");

// The ContextMenu property sets the menu that will
// appear when the systray icon is right clicked.
notifyIcon1.ContextMenu = this.contextMenu1;

// The Text property sets the text that will be displayed,
// in a tooltip, when the mouse hovers over the systray icon.
notifyIcon1.Text = "Console App (Console example)";
notifyIcon1.Visible = true;

// Handle the DoubleClick event to activate the form.
notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick);
notifyIcon1.Click += new System.EventHandler(this.notifyIcon1_Click);

}
private void notifyIcon1_Click(object Sender, EventArgs e)
{

MessageBox.Show("clicked");
}

private void notifyIcon1_DoubleClick(object Sender, EventArgs e)
{
MessageBox.Show("Double clicked");
}

private void menuItem1_Click(object Sender, EventArgs e)
{
// Close the form, which closes the application.
Application.Exit();
}

}
}

dab_hrd
سه شنبه 15 مرداد 1398, 16:27 عصر
سلام
آیا امکانی وجود دارد که فرضا" من نرم افزار را بروی سرور قرار دهم و کابر از طریق مرور گر و زدن ip سرور بتواند برنامه را اجرا کند
با تشکر

farhad_shiri_ex
چهارشنبه 16 مرداد 1398, 09:13 صبح
سلام
آیا امکانی وجود دارد که فرضا" من نرم افزار را بروی سرور قرار دهم و کابر از طریق مرور گر و زدن ip سرور بتواند برنامه را اجرا کند
با تشکر

البته که می توانید با استفاده از نرم افزار مجازی سازی(Citrix XenApp 7.11) برای اطلاعات بیشتر به این لینک مراجعه کنید http://citrixhome.ir/Citrix3.asp
البته که تکنولوژی گران قیمتی هست!

NasimBamdad
چهارشنبه 16 مرداد 1398, 18:11 عصر
با سلام
من یک برنامه تحت شبکه دارم با حدود 140 کلاینت
مشکل اینجاست که وقتی می خواهم نسخه جدیدی بدهم باید برای تک تکشان دستی کپی نمایم
می خواهم بدانم آیبا روشی وجود دارد که نسخه جدید اتوماتیک توسط کلاینت تشخیص و کپی شود
ممنون

سلام و وقت بخیر .

من این نرم افزار رو در اختیار دارم که در کنار برنامه شما نقش update center بازی می کنه و روی 200 کلاینت در شبکه داخلی و اینترنت امتحان شده ، به ID من پیام بدید که بگم چی کار کنید
@MohsenHeshmati
تلگرام

dab_hrd
چهارشنبه 16 مرداد 1398, 19:44 عصر
سلام و وقت بخیر .

من این نرم افزار رو در اختیار دارم که در کنار برنامه شما نقش update center بازی می کنه و روی 200 کلاینت در شبکه داخلی و اینترنت امتحان شده ، به ID من پیام بدید که بگم چی کار کنید
@MohsenHeshmati
تلگرام

سلام
شرمنده تلگرام من قطع شده است
اگر میشه همین جا توضیح بدهید
ممنون

NasimBamdad
جمعه 18 مرداد 1398, 16:43 عصر
سلام
شرمنده تلگرام من قطع شده است
اگر میشه همین جا توضیح بدهید
ممنون
یه برنامه جانبی درست کردم کنار برنامه که 2 بخش داره ، یکی میاد کار آپدیت رو انجام میده اگه که ورژن جدید آمده باشه و در لحظه باز کردن نرم افزار کار می کنه

یه زمانی هم مثلا آپدیت سنتر از کارمی افته و یا مشکلی پیش میاد به صورت اورژانسی میاد آخرین آپدیت رو دریافت می کنه و دانلود و Replace

رامین مرادی
شنبه 19 مرداد 1398, 11:20 صبح
یه برنامه جانبی درست کردم کنار برنامه که 2 بخش داره ، یکی میاد کار آپدیت رو انجام میده اگه که ورژن جدید آمده باشه و در لحظه باز کردن نرم افزار کار می کنه

یه زمانی هم مثلا آپدیت سنتر از کارمی افته و یا مشکلی پیش میاد به صورت اورژانسی میاد آخرین آپدیت رو دریافت می کنه و دانلود و Replace

این برنامه به صورت سورس باز هست؟

NasimBamdad
شنبه 19 مرداد 1398, 11:31 صبح
این برنامه به صورت سورس باز هست؟

به هر 2 صورت قابل ارائه می باشد

ebrahim.rayatparvar
دوشنبه 21 مرداد 1398, 13:40 عصر
سلام مهندس
من برنامه ای مثل دوستمون که گفتن یک آپدیتر کنار exe اصلی گذاشتم که کارش بروز رسانی برنامه من هست که کاربر میتونه برنامه رو اجرا کنه و ببینه که نسخه جدید آمده یا نه و بروز کنه(بعد باز شدن نسخه فعلی نصب شده در سیستم چیه و فایل آپدیتی که امده چه نسخه ای هست و چه تغییراتی کرده رو میگه) حالا نکته ای که هست برای اینکه کاربر هر بار برنامه رو اجرا نکنه زمانی که برنامه اصلی اجرا میشه میره تو ftp جایی که فایل آپدیت هست فایل XML دارم که مشخصات فایل بروز شده اونجا هست و میخونم که فایل بروز شده و پیغامش رو به کاربر میدم.

نکته ای هست بعد اجرا اگه فایل بروز پیغام داد میتونید همونجا exe آپدیتر رو اجرا کنید من بع دلایلی این کار رو نکردم

NasimBamdad
دوشنبه 21 مرداد 1398, 14:11 عصر
سلام مهندس
من برنامه ای مثل دوستمون که گفتن یک آپدیتر کنار exe اصلی گذاشتم که کارش بروز رسانی برنامه من هست که کاربر میتونه برنامه رو اجرا کنه و ببینه که نسخه جدید آمده یا نه و بروز کنه(بعد باز شدن نسخه فعلی نصب شده در سیستم چیه و فایل آپدیتی که امده چه نسخه ای هست و چه تغییراتی کرده رو میگه) حالا نکته ای که هست برای اینکه کاربر هر بار برنامه رو اجرا نکنه زمانی که برنامه اصلی اجرا میشه میره تو ftp جایی که فایل آپدیت هست فایل XML دارم که مشخصات فایل بروز شده اونجا هست و میخونم که فایل بروز شده و پیغامش رو به کاربر میدم.

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

لازم به ذکر است که این نرم افزار آپدیت سنتر یه نسخه جدیدش رو داریم تست می کنیم که به صورت Silent بدون اینکه کاربر بفهمه ( با این امکان که کاربر هم متوجه بشه به صورت پیغام Notification ) ، برنامه رو بروز می کنه و سری بعدی که برنامه باز میشه ، نسخه جدیدش اجرا میشه

dab_hrd
دوشنبه 21 مرداد 1398, 17:04 عصر
دوستان کسی نمونه برنامه یا سورس نداره ؟
راه حل با سیتریکس و یا نرم افزار رایگان دیگر چی ؟

NasimBamdad
دوشنبه 21 مرداد 1398, 17:30 عصر
دوستان کسی نمونه برنامه یا سورس نداره ؟
راه حل با سیتریکس و یا نرم افزار رایگان دیگر چی ؟

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