111,131
社区成员
发帖
与我相关
我的任务
分享
123123123123123123132 try
{
WebClient webClient = new WebClient();
//指定路径的文件下载到当前目录下创建名为:update.txt
webClient.DownloadFile(@"F:\Game\Mir2\UpdateFile\update.txt", "update.txt");
StreamReader sr = new StreamReader("update.txt");
List <UpdateFile> files = new List <UpdateFile>();
//升级文件的版本号
string version = sr.ReadLine();
//MessageBox.Show(version);
//将应用程序更名复制
File.Copy(@"Game.exe", "Game_Old.exe", true);
//反射备份的应用程序 得到版本号
Assembly assembly = Assembly.LoadFile(Application.StartupPath
+ @"\Game.exe");
//程序原来的版本号
string currentVersion = assembly.GetName().Version.ToString();
assembly = null;
//如果版本不一致,则升级程序
if (currentVersion != version)
{
//读出有几个文件需要更新
int newFileCount = Convert.ToInt32(sr.ReadLine());
for (int i = 0; i < newFileCount; i++)
{
//取得文件下载路径和文件名
UpdateFile updateFile = new UpdateFile();
updateFile.FileName = sr.ReadLine();
updateFile.DownLoadPath = sr.ReadLine();
files.Add(updateFile);
}
foreach (UpdateFile file in files)
{
WebClient webClientNew = new WebClient();
//更新每个文件 - 注意web服务器的配置
webClientNew.DownloadFile(file.DownLoadPath, file.FileName);
}
MessageBox.Show("升级成功!");
Application.Exit(); //退出更新程序窗体
System.Diagnostics.Process.Start("Game.exe"); //打开游戏窗体可执行文件
}
else
{
MessageBox.Show("您的游戏已经是最新版本!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}