zoukankan      html  css  js  c++  java
  • 自动更新解决方案

    由于boss不让使用smart client,所以只好使用下载-覆盖-重启应用程序的三步骤
    首先,我们需要一个Loader程序,来引导主程序
    https://files.cnblogs.com/wildfish/AppUpdateStarter.rar
    第二,在主程序中
    //获取船坞系统的程序集
                
    //注意区分大小写
                Assembly asm = Assembly.LoadFrom(Application.StartupPath + Path.DirectorySeparatorChar + "SD.dll");
                
    //获取版本信息
                string curVersion = VersionConfig.GetVersion(asm);
                
    //确认窗口
                Form_UpdateConfirm confirmForm = new Form_UpdateConfirm();
                
    //校验版本对象            
                CheckVersionSystem checkVersion = new CheckVersionSystem(confirmForm, "SDSYSTEM", curVersion, Application.StartupPath, false);
                
    bool needRestart = false;
                
    //更新状态窗口
                Form_UpdateState stateForm = new Form_UpdateState(checkVersion);
                
    //判断版本,尝试升级            
                checkVersion.TryUpdate(ref needRestart);

                
    //如果需要重新启动
                if (needRestart)
                
    {
                    Environment.ExitCode 
    = 2//the surrounding AppStarter must look for this to restart the app.
                    MessageBox.Show("提示:系统更新完毕!请重新启动!""更新完毕");
                }

                
    else
                
    {
                    Form_SD_Main doc_SD 
    = new Form_SD_Main();
                    Application.Run(doc_SD);
                }


    第三步,安装程序要按照如下目录方式来制作
    外层的目录,一个Loader程序,一个配置文件,应用程序的文件夹


    这个是Penavicoxm文件夹内部的内容

    这样我们就可以可控的控制应用系统的升级
    当然了这种方式存在一种缺点,不能及时有效的让用户更新,用户只有重新进入系统的时候才会体现更新
    如果为了比较及时地,最好使用smart client,或者用b/s架构:)

  • 相关阅读:
    H5页面获取屏幕宽高
    装修注意事项
    两列等高布局
    html/css
    css的几种垂直水平居中方法
    3分钟看懂flex布局
    Android手机里H5页面滚动图片时出现白屏
    JavaScript正则表达式——函数
    javascript正则表达式——语法
    【react】子组件向父组件传值
  • 原文地址:https://www.cnblogs.com/wildfish/p/148047.html
Copyright © 2011-2022 走看看