為自己編寫的windows應用程式製作安裝包

來源:互聯網
上載者:User

標籤:top   標準   install   判斷   存在   str   com   過程   空間   

1 寫好了一個windows程式之後如何製作安裝包

這個在vs中就可以直接發布了,可以製作msi的安裝包和exe的安裝包。

2 window應用程式安裝包做了哪些事情

rpm安裝包的話,只是把相應的檔案拷貝到不同的目錄。那麼window安裝包做了什麼呢?

msi裡面有一個table,裡面是一條條的指令,windows installer會解釋並執行這些指令。

它還是會把安裝包裡面的檔案拷貝到相應的目錄。關鍵是它除了拷貝還做了哪些事情呢?

 

3 安裝包除了把相應的檔案放到不同的目錄下,還做了哪些事情,比如註冊表

第一,將安裝的產品告訴給系統。

第二,尋找系統是否有我需要的某個檔案,不如某個動態庫。

第三,計算本次安裝需要佔用的磁碟空間的大小,判斷當前的磁碟空間是否夠。

第四,修改註冊表。

 

4 安裝包操作註冊表是為什嗎?註冊表在程式安裝和運行過程中起到了什麼作用

可以在製作安裝包的時候向註冊表中添加索引值對,這個索引值對可以在代碼中訪問。

 

 

5 windows installer

5.1 windows installer解析windows安裝包中的指令table,完成安裝過程

5.2 windows installer的標準動作

安裝包中被windows installer使用的tables:

有很多的tables

 

5.2.1 發布產品、特性和組件的action

就是把產品、特性和組件告訴給windows系統。

5.2.2 檔案尋找action

安裝的時候,尋找系統中是否存在某個檔案。

5.2.3 file costing action

看當前的安裝需要消耗多少的磁碟空間。

5.2.4 檔案安裝action

就是講指定的檔案從來源目錄拷貝到目的地目錄。

5.2.5 修改註冊表action

當組件和檔案都安裝到目的地目錄之後,就可以修改註冊表了。只有在檔案安裝action執行完成之後,才能執行註冊表修改action。

5.2.5.1 RegisterClassInfo action

註冊安裝組件的COM類資訊。

5.2.5.2 RegisterExtensionInfo action

 

5.2.5.3 RegisterProgIdInfo action

5.2.5.4 RegisterMIMEInfo action

5.2.5.5 WriteRegistryValues action

5.2.5.6 RemoveRegistryValues action

這個是卸載的時候執行的。

 

參考資料:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa372022(v=vs.85).aspx

orca tool

https://msdn.microsoft.com/en-us/library/windows/desktop/aa370557(v=vs.85).aspx

 

為自己編寫的windows應用程式製作安裝包

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.