最好做一个单独的windows服务来处理自动更新好一些
解决方案 »
- 请教浏览器问题
- 2003winform,datagrid添加保存、删除按钮
- Excel2003英文版的Com和Excel2003中文版Com使用上有什么不同吗?
- 为什么调用FindWindow()报错
- 开发数据库应用程序哪种技术最接近底层
- FORM2 继承 FORM1 如何在FOMR2上使用LISTVIEW.SELECTITEM属性
- bool型字段自定义输出的问题
- 高分求InfoService源码~~
- 这个combobox是不是有问题呀,各位能否进来给个解释?????????????????????????????
- 关于这个构造函数的问题,谢谢!
- 蓝牙连接过程中,拔下适配器,再插上。无法重连接!
- C# 图片转换为视频
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = Application.StartupPath + @"\Updater.exe";
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.Arguments = newVersion;
Process.Start(startInfo);
Process.GetCurrentProcess().Kill(); }
目前我测试过
好像本身大小超过3M 可以替换本身
流程是
比如本身为 ha.exe
1.下载更新文件命名ha.up
2.修改本身ha.exe 为ha.back
3.修改ha.up 为ha.exe
4.重启程序Application.Restart();
if (File.Exists(Application.StartupPath + "\\Weixin_Pro.bak"))
File.Delete(Application.StartupPath + "\\Weixin_Pro.bak");
StreamWriter sw2 = new StreamWriter(Application.StartupPath + "\\config.txt", false);
sw2.Write("ServerPath=" + pathstro + "\r\nVersion=" + vero);
sw2.Close();
File.Move(Application.StartupPath + "\\Weixin_Pro.exe", Application.StartupPath + "\\Weixin_Pro.bak");
File.Move(Application.StartupPath + "\\Weixin_Pro.update", Application.StartupPath + "\\Weixin_Pro.exe"); try
{
Application.Restart(); }
catch { }
Application.Exit();//关闭当前程序
Process.Start("Update.exe");//启动更新程序
更新程序中下载需要更新的文件,一般用压缩包处理。
如果需要更进一步,可以加我Q 8150772
无论是windows server还是启动辅助程序,都需要你再写一个exe,这个exe可以比较简单,就是发现有新的更新文件就把文件覆盖掉原来的,然后启动主exe。
int i = 0;
try
{
i = app.CheckForUpdate();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
if (i > 0 && MessageBox.Show("发现新版本,是否要升级?\r\n\r\n选择 “是” 马上升级,选择 “否” 暂时不升级", "升级提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{ Process.Start(Application.StartupPath + "\\" + "Desay.AutoUpdate.exe");
}
else
{
}
升级程序升级完成后重新打开程序即可如果需要我可以给你一份代码
目前我测试过
好像本身大小超过3M 可以替换本身
流程是
比如本身为 ha.exe
1.下载更新文件命名ha.up
2.修改本身ha.exe 为ha.back
3.修改ha.up 为ha.exe
4.重启程序Application.Restart();=========================
下次再次升级时,必须删除ha.back;
但有时会出错,无法删除 ha.back, 造成升级失败。
这个问题怎么解决?