'在win7上安裝測試以後
大致上主程式可以執行
但是更新程式會出問題
不斷呼叫主程式
並且關閉更新程式
第一次測試
要再查查看
可能是全縣問題
========================================
'需要將一些報表更新檔案也一併寫入更新程式中
讓他能夠自動更新
'應該要在思考遺下整個流程
感覺會有點問題
在目前尚未寫入自我更新的 更新程式
要去過渡到有自我更新的版本上面
反應會有更新問題
似乎問題出在剛建立玩noupdate檔案
主程式偵測到並且去殺掉太快的樣子
會說更新程式還在佔用NoUpdate資源
如何避免这个新建文件并写信息出错
'應該改掉取消更新時
將主程式關閉
更新程式關閉
而不要等待再問
======================================
'目前改以P曹更新
並且放置更新版本檔案判斷
應該可以放置版本更新資訊
更新時撈出資料
顯示相關更新資訊
@直接開更新可以
透過主程式開更新
檔案一直無法覆蓋
猜測是 PROCE尚未完全關閉
所以檔案無法搬移覆蓋
=========================================
初步上完成
'想一下怎麼編碼
'進一步處理版本更新的動作(exe替換 , 安裝新套件, setup重新安裝)
'直接開Update時,與透過主程式開啟Update
應該要各做些什麼事
'怎麼包裝兩個不同專案的兩隻程式在一個安裝檔
自動安裝兩隻程式
目前想到是說,分開部屬
然後把update執行檔,拉進去主程式去部屬
有點怪,拉進去部署以後
關閉主程式
猜測是關閉 主程式會需要一點時間,
如果說弄一個迴圈來確定該程式已經關閉以後
才往下走
或許可以解決
那就要看專案到底部署的時候
需要那些檔案,那些不必
pdb, vshost.exe, manifest, config
===================================================
在殺掉目錄下的主程式時
發生了例外
大概知道說是因為我的主程式並沒有關掉的原因
要關掉介面視窗執行緒
1. 要先 closeMainWindows (關介面執行緒)
2. 在關掉 執行緒 close (真正關掉執行緒)
====================================================
希望透過抓取 Process 唯一識別的 ID (Integer) 去做關閉動作
'關掉所有執行中 MRP - App 程式
Dim myProc As Process
Dim allProc() As Process
'所有開啟的 ERP外掛
allProc = Process.GetProcessesByName("MRP - App")
For i = 0 To UBound(allProc)
MsgBox("識別碼 : " & allProc(i).Id & ",名稱 : " & allProc(i).MainModule.FileName)
myProc = Process.GetProcessById(allProc(i).Id)
myProc.Close()
Next
======================================================
需要寫一隻程式
可以幫目前主程式做更新動作
'更新動作第一次都會失敗,
然後再提示一次是否關閉主程式更新
有點怪
'更新完成以後,確定檔案以置換
但是呼叫主程式的動作有問題
看起來像是不斷呼叫,然後不斷關閉又呼叫
應該是我更新程式再呼叫主程式,以及關閉自己那邊有點什麼問題
'如果更新程式以跳出(主程式並存時)
不關閉主程式執行更新
更新程式會 Sleep 一段時間
再次提示關閉主程式
此時應該將 Update Form 縮至最小
或是透過背景執行等動作
(目前 Sleep , Update 程式將鎖死, Form 也不能重繪)
'開發後與目前上線版本會不一樣
開發後的最新版本,
在使用時,怎麼判斷開發者才是最新版本問題
'下載更新檔完成後,
怎麼執行更新檔?
1.下載就直接覆蓋(下載前一定要確定主程式關閉)
2.下載以後,移動檔案去覆蓋(下載以後,等確認主程式關閉,就可以移動檔案覆蓋)
完成以後
呼叫主程式
關閉 Update 程式
移動檔案
http://program.maomo.info/article.aspx?uid=63
如何程式內關閉透過System.Diagnostics.Process.Start開啟的程式
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20100719133145ERC&fumcde=FUM20050124192253INM
============================================
主程式
每次開啟檢查版本(本機版本 是否等於 資料庫所存最新版本)
透過一個版本檢查檔
主程式下
需要一個上傳系統版更程式的介面 (管理員權限)
UpDate程式
當需要更新,
1. 建立 UpDate 資料夾 (暫存)
2. 連資料庫下載新版本程式(exe or setup),到 UpDate 資料夾
3. 檢查下載檔案大小 是否與資料庫內存相同 ( 相同則下載完畢 )
4. (無窮迴圈檢查) 關閉主程式,安裝更新,並建立新的檢察檔
'1.建立 Update 暫存資料夾
'2.下載新版更新檔
'3.當資料庫撈資料完成,檢查檔案大小,是否與資料庫內存相同
'4.確定下載完成,詢問是否關閉主程式,
'5.確認關閉主程式後,執行update
'6.訊息提示
====================================================
要稍微查一夏
怎麼把兩個專案下的不同程式包成一個安裝檔
還是說兩個程式要放在同一個專案建置
有什麼不同
要怎麼包要在查察
====================================================
Windows Installer (MSI)
大致上主程式可以執行
但是更新程式會出問題
不斷呼叫主程式
並且關閉更新程式
第一次測試
要再查查看
可能是全縣問題
========================================
'需要將一些報表更新檔案也一併寫入更新程式中
讓他能夠自動更新
'應該要在思考遺下整個流程
感覺會有點問題
在目前尚未寫入自我更新的 更新程式
要去過渡到有自我更新的版本上面
反應會有更新問題
似乎問題出在剛建立玩noupdate檔案
主程式偵測到並且去殺掉太快的樣子
會說更新程式還在佔用NoUpdate資源
如何避免这个新建文件并写信息出错
目前透過 IO.File.Create().close去釋放資源
然後改掉msgbox()提示關閉主程式訊息
'應該改掉取消更新時
將主程式關閉
更新程式關閉
而不要等待再問
======================================
'目前改以P曹更新
並且放置更新版本檔案判斷
應該可以放置版本更新資訊
更新時撈出資料
顯示相關更新資訊
@直接開更新可以
透過主程式開更新
檔案一直無法覆蓋
猜測是 PROCE尚未完全關閉
所以檔案無法搬移覆蓋
=========================================
初步上完成
'想一下怎麼編碼
'進一步處理版本更新的動作(exe替換 , 安裝新套件, setup重新安裝)
'直接開Update時,與透過主程式開啟Update
應該要各做些什麼事
'怎麼包裝兩個不同專案的兩隻程式在一個安裝檔
自動安裝兩隻程式
目前想到是說,分開部屬
然後把update執行檔,拉進去主程式去部屬
有點怪,拉進去部署以後
關閉主程式
猜測是關閉 主程式會需要一點時間,
如果說弄一個迴圈來確定該程式已經關閉以後
才往下走
或許可以解決
Process.WaitForExit 方法
設定要等待相關的處理序結束的時間,並且阻止目前的執行緒執行,直到等候時間耗盡或者處理序已經結束為止。那就要看專案到底部署的時候
需要那些檔案,那些不必
pdb, vshost.exe, manifest, config
===================================================
在殺掉目錄下的主程式時
發生了例外
大概知道說是因為我的主程式並沒有關掉的原因
要關掉介面視窗執行緒
1. 要先 closeMainWindows (關介面執行緒)
2. 在關掉 執行緒 close (真正關掉執行緒)
====================================================
希望透過抓取 Process 唯一識別的 ID (Integer) 去做關閉動作
'關掉所有執行中 MRP - App 程式
Dim myProc As Process
Dim allProc() As Process
'所有開啟的 ERP外掛
allProc = Process.GetProcessesByName("MRP - App")
For i = 0 To UBound(allProc)
MsgBox("識別碼 : " & allProc(i).Id & ",名稱 : " & allProc(i).MainModule.FileName)
myProc = Process.GetProcessById(allProc(i).Id)
myProc.Close()
Next
获取进程PID
======================================================
需要寫一隻程式
可以幫目前主程式做更新動作
'更新動作第一次都會失敗,
然後再提示一次是否關閉主程式更新
有點怪
'更新完成以後,確定檔案以置換
但是呼叫主程式的動作有問題
看起來像是不斷呼叫,然後不斷關閉又呼叫
應該是我更新程式再呼叫主程式,以及關閉自己那邊有點什麼問題
'如果更新程式以跳出(主程式並存時)
不關閉主程式執行更新
更新程式會 Sleep 一段時間
再次提示關閉主程式
此時應該將 Update Form 縮至最小
或是透過背景執行等動作
(目前 Sleep , Update 程式將鎖死, Form 也不能重繪)
'開發後與目前上線版本會不一樣
開發後的最新版本,
在使用時,怎麼判斷開發者才是最新版本問題
'下載更新檔完成後,
怎麼執行更新檔?
1.下載就直接覆蓋(下載前一定要確定主程式關閉)
2.下載以後,移動檔案去覆蓋(下載以後,等確認主程式關閉,就可以移動檔案覆蓋)
完成以後
呼叫主程式
關閉 Update 程式
移動檔案
http://program.maomo.info/article.aspx?uid=63
VS.NET在程序中关闭其他运行的程序
如何程式內關閉透過System.Diagnostics.Process.Start開啟的程式
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20100719133145ERC&fumcde=FUM20050124192253INM
Process.Close 方法
http://msdn.microsoft.com/zh-tw/library/system.diagnostics.process.close(VS.90).aspx
Process.CloseMainWindow 方法
============================================
主程式
每次開啟檢查版本(本機版本 是否等於 資料庫所存最新版本)
透過一個版本檢查檔
主程式下
需要一個上傳系統版更程式的介面 (管理員權限)
UpDate程式
當需要更新,
1. 建立 UpDate 資料夾 (暫存)
2. 連資料庫下載新版本程式(exe or setup),到 UpDate 資料夾
3. 檢查下載檔案大小 是否與資料庫內存相同 ( 相同則下載完畢 )
4. (無窮迴圈檢查) 關閉主程式,安裝更新,並建立新的檢察檔
'1.建立 Update 暫存資料夾
'2.下載新版更新檔
'3.當資料庫撈資料完成,檢查檔案大小,是否與資料庫內存相同
'4.確定下載完成,詢問是否關閉主程式,
'5.確認關閉主程式後,執行update
'6.訊息提示
====================================================
要稍微查一夏
怎麼把兩個專案下的不同程式包成一個安裝檔
還是說兩個程式要放在同一個專案建置
有什麼不同
要怎麼包要在查察
====================================================
Windows Installer (MSI)
沒有留言:
張貼留言