نوشته شده توسط
dab_hrd
با سلام
من یک برنامه تحت شبکه دارم با حدود 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();
}
}
}