PDA

View Full Version : مبتدی: شبكه كردن برنامه بدون نصب و آپديت خودكار برنامه از شبكه



naser61nsn
دوشنبه 17 شهریور 1393, 15:26 عصر
با سلام ، اداره ما ، يه برنامه داره كه نياز به نصب نداره و با كپي چند تا فايل ( ليست فايل ها ضميمه شده ) روي كلاينت برنامه اجرا ميشه و اگه برنامه روي سرور تغيير كنه ، با اجراي برنامه روي كلاينت ، برنامه اتومات آپديت ميشه . چطور فقط با كپي فايل ( بدون نصب برنامه ) برنامه اجرا ميشه ؟ و چطور از روي سرور آپديت ميشه ؟ با تشكر

naser61nsn
چهارشنبه 05 تیر 1398, 21:30 عصر
namespace MoshtarakinLiveUpdate
{
using Ionic.Zip;
using System;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using KIT.Controls.Win;

public partial class Form1 : Form
{
private BackgroundWorker backgroundWorker1;
private Label label2;
private ProgressBar pbCopy;

public Form1()
{
InitializeComponent();
}

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
liveupdate();
}

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
pbCopy.Value = e.ProgressPercentage;
}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
Close();
}

private void Form1_Load(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}

private int liveupdatezip(string updateDir, int ufileslen)
{
int num = 0;
bool flag = false;
string path = "";
string str3 = AppDomain.CurrentDomain.BaseDirectory + @"" + "Moshtarakin.zip";
path = updateDir + "Moshtarakin.zip";
if (!File.Exists(path))
{
return 0;
}
if (!File.Exists(str3))
{
flag = true;
}
else
{
DateTime lastWriteTime = File.GetLastWriteTime(str3);
DateTime time2 = File.GetLastWriteTime(path);
if (lastWriteTime < time2)
{
flag = true;
}
}
if (flag)
{
File.Delete(str3);
File.Copy(path, str3);
}
using (ZipFile file = ZipFile.Read(str3))
{
foreach (ZipEntry entry in file)
{
backgroundWorker1.ReportProgress((100 * (num + 1)) / (ufileslen + file.Count));
entry.Extract(AppDomain.CurrentDomain.BaseDirector y, ExtractExistingFileAction.OverwriteSilently);
num++;
}
}
return num;
}

private int liveupdatezip1(string updateDir, int ufileslen)
{
int num = 0;
bool flag = false;
string path = "";
string str3 = AppDomain.CurrentDomain.BaseDirectory + @"" + "Moshtarakin1.zip";
path = updateDir + "Moshtarakin1.zip";
if (!File.Exists(path))
{
return 0;
}
if (!File.Exists(str3))
{
flag = true;
}
else
{
DateTime lastWriteTime = File.GetLastWriteTime(str3);
DateTime time2 = File.GetLastWriteTime(path);
if (lastWriteTime < time2)
{
flag = true;
}
}
if (flag)
{
File.Delete(str3);
File.Copy(path, str3);
}
using (ZipFile file = ZipFile.Read(str3))
{
foreach (ZipEntry entry in file)
{
this.backgroundWorker1.ReportProgress((100 * (num + 1)) / (ufileslen + file.Count));
entry.Extract(AppDomain.CurrentDomain.BaseDirector y, ExtractExistingFileAction.OverwriteSilently);
num++;
}
}
return num;
}

private void pbCopy_Click(object sender, EventArgs e)
{
}
}
}