專案中的程式需要自動更新
大概思路
1、通過主程式(判斷是否需要更新)開啟更新程式
2、通過更新程式關閉主程式
4、解壓(新的主程式)
5、開啟主程式
在第五步的時候本機測試沒問題,發布到另一台機子之後總是報錯
另一程式正在使用此檔案,程序無法訪問....
經過一番排查發現問題出在解壓時沒有釋放檔案資源(不知道描述是否準確,另外為什麼本機測試不報錯!)
原解壓**如下:
public static void unzip(string filetoupzip, string zipedfolder, string password)
if (!directory.exists(zipedfolder))
zipinputstream s = null;
zipentry theentry = null;
string filename;
filestream streamwriter = null;
trystreamwriter = file.create(filename);
int size = 2048;
var data = new byte[2048];
while (true)
else}}
}}finally
if (theentry != null)
if (s != null)
gc.collect();
gc.collect(1);}}
修改後**如下:
public static void unzip(string filetoupzip, string zipedfolder, string password)
if (!directory.exists(zipedfolder))
using (zipinputstream zis = new zipinputstream(file.open(filetoupzip, filemode.open)))
}//檔案
else
else}}
}ze = zis.getnextentry();}}
}希望能幫助到遇見類似問題的同學
DelPhi基礎 一 程式框架和檔案結構
delphi中,應用程式的所有相關檔案都被組織在乙個 專案中,每個專案包含的檔案很多,大部分是由delphi 自 動建立並維護的。每乙個delphi應用程式都有乙個擴充套件名為dpr的專案 檔案,是由delphi 自動建立並維護的,一般情況下不必修 改它的內容 預設生成的專案原始檔 如下 progr...
VB程式怎麼判斷另乙個程式是否正在執行
用findwindows函式查詢 private declare function findwindow lib user32 alias findwindowa byval lpclassname as string,byval lpwindowname as string as long pri...
無法刪除文件片段,檔案正在被另乙個人或程式使用?
1 重啟或登出刪除試試 2 xp系統以管理員身份登入刪除試試,或關閉系統還原,再刪 3 進入安全模式或用啟動軟盤 光碟 啟動進入純dos刪除 4 用瑞星卡卡或360的檔案粉碎試試 5 如果是刪除資料夾,從裡往外刪,即先進入該資料夾,刪除裡面所有內容,然後再返回上一層目錄,刪除該資料夾 6 對於大檔案...