天天看點

DotNet4應用程式打包工具->更新版【二】安裝工具分析

我們給出了這個工具的具體的思路。

得到了很多朋友的回報!

綜合朋友的意見,

在沒有改變工具原理的基礎上

我對這個程式做了更新

如下圖:

DotNet4應用程式打包工具->更新版【二】安裝工具分析

如你所見,

現在這個打包工具可以打包dotNet2.0  3.5  4

乃至所有在系統資料庫中添加過系統資料庫項的應用程式

下面我們就開始分析安裝工具(也就是上面你看到的那個圖檔)

--------------------------

入口函數:

好吧,入口函數很簡單,隻是建立了一個窗體,并注冊了視窗過程函數

-----------------------------

視窗過程

在這個過程函數裡

接收到的每個消息都執行了一個或幾個函數

那麼,我們就一個函數一個函數的講

-------------------------------------------------------

視窗初始化消息裡

我們預設選中了dotNet4的單選按鈕

---------------------------------------------------------

四個單選按鈕的單擊事件

設定了文本框的内容,

并記錄了目前選中的是哪個單選按鈕

------------------------------------------------------------

選擇檔案

把選中的檔案路徑指派給相應的文本框

--------------------------------------------------------------------

從資源中讀取宿主程式,并按指定的檔案名,釋放到目前目錄下

---------------------------------------------------------------------------

替換宿主程式的ICO圖示資源

這裡需要重點說明一下:

要想更新一個應用程式的資源

必須先知道這個資源的ID

GetIcoIndex函數的工作就是擷取資源ID的

因為一般的應用程式圖示資源都會有兩個

是以擷取了兩個圖表資源的ID

其他的WINAPI就不多解釋了~~

---------------------------------------

為宿主程式增加目标程式資源和dotNet安裝包資源

增加的資源也是需要标明ID的

因為宿主程式會根據約定好的ID來得到這些資源

EditId參數就是這些資源的ID

--------------------------------------------------------

把系統資料庫項的路徑也當作資源打包進宿主程式

我們約定這個資源的ID為1039

-------------------------------------------------------------

其他的一些代碼如下

---------------------------------------------------------------

後記:

沒有寫容錯的代碼~

也沒有遵循命名規範~

大家見諒~

請各位推薦我的文章

因為你們的支援才是我的動力->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->

(因為不在需要把dotNet4安裝程式打包進來,是以隻有幾十K了!多輕便啊!)

繼續閱讀