2011年9月18日 星期日

@CASE 5 < update 程式 > ver.20110919


====================================
'忘記建立更新暫存資料夾
包裝要去看一夏


'目前會更新整個資料夾
拿掉一些不必要的檔案更新

'關閉邏輯還是怪怪的
要再改

'可能需要在系統建一個介面上傳更新檔案
建一個資料庫紀錄版更資訊時間
(或是一樣寫入txt)

目前差不多可以

@RichTextBox 要怎麼依照輸入格式寫入stream
讀寫 透過 BIG5
========================================
要測看看,是不是辦公室的舊更新程式沒辦法自我更新
會不會影響到主程式更新
需不需要手動更新 更新程式
======================================
阿靠
用wm_copydata只能用sendmessage,postmessage不行
好像不能用在 postmessage
http://topic.csdn.net/t/20040125/16/2681042.html

先用檔案寫入的方式好了

不嚴謹~要在找時間研究看看怎麼透過監控記憶體的方式


===========================================
'需要將主程式寫入偵測更新程式版本
來做更新程式的更新動作


應該需要一個參數來判斷主程式應該去做更新 更新程式 的動作

應用程式間之參數傳遞(編號:28427)


1. 二個在不同電腦:使用 .NET Remoting、Socket、SendMessage 或實作 Winsock Client/Server 機制來傳輸資料
2. 二個在同一電腦:實作 Mutex, Semaphore, Memory Buffer 機制來交換資料,這是 Process Synchronized 的議題






目前做法是利用剪貼簿



[C#][VB.NET] VB.NET 的程式透過 SendMessage 傳送資訊到 C# 的程式


目前卡在 要COPY檔案的時候

更新程式尚未關閉


猜測是因為 SendMessage 會將控制權轉移
原本的程式則會進入 sleep 模式
等到確定 接收端 走完 Wndproc
才會 remain




嘗試從接收端關閉 更新程式





PostMessage和SendMessage的區別

SendMessage因為控制權轉移的關係
一定要等到回傳結果
才能關閉傳送訊息的程式

方法一 
嘗試改PostMessage

(要在側看看)
倒了~寫法應該是一樣的,卻覺得PostMessage 沒收到訊息





方法二
改更新動作在 Wndproc 走完以後
去偵測某個東西的變化
然後決定是不是要更新程式


攔截所觸發的 hWnd / Window Message 偵錯
http://social.msdn.microsoft.com/forums/zh-TW/232/thread/b1226fcd-638e-49c1-a701-4353e4fb288b




方法三
嘗試 memory Buffer






'需要加入更新自訂控制項 .DLL資料
置放在 Bin 資料夾之下

dll. 在安裝部屬的時候
好像設定一定要在 系統路徑底下

目前先直接寫入檔案

要查一夏怎麼部屬 自訂控鍵
讓他執行的時候能夠找到 dll資源

目前更新的dll資源放Bin
寫回Client, 將其複製到 執行資料夾


'應該改掉取消更新時
將主程式關閉
更新程式關閉

而不要等待再問

'在win7上安裝測試以後
大致上主程式可以執行

但是更新程式會出問題
不斷呼叫主程式
並且關閉更新程式

第一次測試
要再查查看

沒有留言:

張貼留言