基于C/S模式的程序更新-启动

根据不同需求,启动更新过后的程序

①关闭更新程序,启动主程序

1 System.Diagnostics.Process.Start(exePath + @"\GreenStarMES.exe");
2 this.Close();

②启动主程序,不关闭更新程序,当主程序关闭时,同步关闭更新程序

1 System.Diagnostics.Process.Start(exePath + @"\GreenStarMES.exe").WaitForExit();
2 this.Close();
时间: 2024-10-01 09:27:19

基于C/S模式的程序更新-启动的相关文章

基于C/S模式的程序更新-下载

思路: ①检查是否需要更新(通过数据库获取最新版本号和本地版本号进行比对(本地版本号可存在txt文件中,需要进行一定程度上的加密和解密操作)) ②从指定目录下载最新版本的程序覆盖本地文件(下载的文件时压缩文件) ③将压缩文件进行程序内解压缩(有可能客户电脑未安装压缩软件,所以只能通过程序本身来进行解压) ④解压完成后调用主程序 实现: 下载:WebClient 1 if (webClient.IsBusy)//是否存在正在进行中的Web请求 2 { 3 webClient.CancelAsync

基于C/S模式的程序更新-解压

主要是利用开源dll----SharpCompress.dll 1 using (Stream stream = File.OpenRead(exePath + @"\Update.RAR")) 2 { 3 var reader = ReaderFactory.Open(stream); 4 while (reader.MoveToNextEntry()) 5 { 6 if (!reader.Entry.IsDirectory) 7 { 8 //Console.WriteLine(re

基于libUSB的USB设备固件更新程序(下载数据)(转)

源:基于libUSB的USB设备固件更新程序(下载数据) 本文紧接上一篇日志:基于libUSB-Win32的USB设备固件更新程序(前言),相关背景以及起因等,此处不再赘述,如感兴趣请移步. libUSB-Win32给出的example里面,有一个bulk.c文件,分析其关键代码,结合libusb官方文档,摘出其关键代码如下: int main(void) { usb_dev_handle *dev = NULL; /* the device handle */ usb_init(); /* i

Ubuntu 为基于X应用程序增加启动项的正确做法

是在Ubuntu为基于X的应用程序增加启动项时需要注意: 错误的做法: -------------------------- #!/bin/sh /usr/bin/gtktest&(加上后台运行) -------------------------- 这样系统启动后程序是运行不起来的 正确的做法: --------------------------- #!/bin/sh export DISPLAY=:0.0(DISPLAY的设置由具体情况决定)   /usr/bin/gtktest&(

基于C/S模式的android手机与PC机通信系统的开发

原文链接: http://blog.csdn.net/nupt123456789/article/details/8213486 基于C/S模式的android手机与PC机通信系统的开发 作者:郑海波 单位:南京邮电大学 通信与信息工程学院 信号与信息处理 6班 学号:1012010638 邮箱:[email protected] -----------------------------------------------------------------------------------

程序只启动一个实例的几种方法

我们在使用<金山词霸>时发现,在<金山词霸>已经运行了的情况下,再次点击<金山词霸>的图标,那么它不会再运行另外一个<金山词霸>,而是将已有的<金山词霸>给激活,始终只能运行一个<金山词霸>的实例. 在我们的程序当中如果要实现类似<金山词霸>的功能,就要解决两个问题,首先是要判断该程序已有一个实例在运行,其次是要将已运行的应用程序实例激活,同时退出第二个应用程序实例.  对于第一个问题,我们可以通过设置命名互斥对象或命名信

Puppet基于Master/Agent模式实现LNMP平台部署

前言 随着IT行业的迅猛发展,传统的运维方式靠大量人力比较吃力,运维人员面对日益增长的服务器和运维工作,不得不把很多重复的.繁琐的工作利用自动化处理.前期我们介绍了运维自动化工具ansible的简单应用,本期带来的是运维自动化神器puppet基于Master/Agent模式实现LNMP平台部署. Puppet 简介 Puppet是基于ruby语言开发的一种Linux.Unix.Windows平台的集中配置管理系统,可以C/S模式或独立运行,使用自有的puppet描述语言,可管理配置文件.用户.c

基于数据仓库星形模式的广东省高速公路一张网资金结算情况分析系统

基于数据仓库星形模式的广东省高速公路一张网资金结算情况分析系统 马根峰                               (广东联合电子服务股份有限公司  广州 510300) 摘要    星形模式是基于关系数据库的数据仓库中的一个著名概念,由于星形连接模式的设计思想能够满足人们从不同观察角度(维)分析数据的需求,所以在基于关系数据库的数据仓库的设计中广泛地使用了星形模式.本文主要介绍<广东省高速公路一张网资金结算情况分析系统>中的数据仓库技术. 关键词    数据仓库:星形模式:维

企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)

前言: 原理与思想 这里选用GTID主从复制模式Mysql主从复制模式,是为了更加确保主从复制的正确性.健康性与易配性.这里做的是两服务器A,B各有Mysql实例3310,两个实例间互为主从 主从复制模式采用GTID主从复制模式,在服务器A,B上配置keepalived负载均衡,通过VIP连接数据库,目的是一旦有某数据库宕机,keepalived 就会立即建VIP执行另外一台 健康的数据库实例上,实现快速切换,避免单点故障,从而保证业务的正常运行. 这里只做了 双主+keepalived  ,