這幾天一直在研究自動更新,因為是單exe檔案,dll沒有更新需求。感覺另外做乙個exe來輔助更新有點不爽,所以研究了一下程式如何自己更新自己。有點心得,記載下來!
自動更新部分省去,只寫思路
1、程式內定義乙個版本常量,和服務端配置檔案對比,如果版本號不一樣就公升級(伺服器應該不會放低版本的版本號吧,呵呵);
3、程式執行時不可以修改,刪除操作,但可以重新命名操作,所以我們將當前程式重新命名為 old.exe ;
4、將update.exe重新命名為當前程式原名 ;
5、重啟程式 ;
實現關鍵**如下:
1
2
3
4
5
6
7
8
9
10
11
string
filename = process.getcurrentprocess().mainmodule.modulename;
//獲取當前程式名
"/"
"/old.exe"
);
//將當前程式命名為old.exe
"/update.exe"
"/"
+ filename);
string
//獲取當前程式的完整路徑
process mynewprocess =
new
process();
//設定要啟動的程式
//設定工作目錄
mynewprocess.start();
//準備重啟程式
//退出當前程式集
在form_load內加入如下**
1
2
if
"/old.exe"
))
"/old.exe"
);
到此程式更新自己基本完成!
程式自己更新自己的解決方案
這幾天一直在研究自動更新,因為是單exe檔案,dll沒有更新需求。感覺另外做乙個exe來輔助更新有點不爽,所以研究了一下程式如何自己更新自己。有點心得,記載下來!自動更新部分省去,只寫思路 1 程式內定義乙個版本常量,和服務端配置檔案對比,如果版本號不一樣就公升級 伺服器應該不會放低版本的版本號吧,...
vim新增自己 解決方案
使用vim從外面將 複製並貼上到時間,假設有一排 凝視。自己主動下一行加入 和每行增加乙個。格全亂 其他編輯器 c cpp其他檔案格當公式,假設有一排 凝視,按o換行的時候又會自己主動加入凝視。寫 非常不方便,解決辦法例如以下 vim vim after ftplugin c.vim setloca...
專案更新迭代解決方案
如今,迭代發布是常有的事,每次都要上傳乙個幾十兆的war或者jar包會很浪費時間,因此自動部署與包 就很有必要了 一,自動部署指令碼 通用 1 linux伺服器需要儲存你的ssh key 目的是與伺服器互動省去輸入密碼 2 本地開啟bash控制台嘗試連線伺服器,如果不用輸入密碼代表成功 3 這時候就...