在vs.net中,我們可以通過建立"setup and deployment projects"項目,非常靈活方便的把自己的.net程序制作為windows installer文件。
制作自己的安裝程序
在vsdeployment projects"項目,非常靈活方便的把自己的.net程序制作為windows installer文件。比如,我們可以很方便的定制下面這些選項:
1.是否在桌面上放置快捷方式。
2.注冊自己的文件類型,可以通過雙擊該文件來使用自己的程序打開。
3.注冊表的處理
在下面的msdn站點,我們可以獲得在vs.net中通過setup and deployment projects來制作自己的安裝程序的示例:http://msdn.microsoft.com/library/en-us/vsinspano7/html/vbcondeploymentscenarios.asp
發(fā)布.net framework
.net framework 1.0提供一個用來重新部署.net的exe文件:dotnetfx.exe. 它包含了common language runtime和其它.net程序運行時必不可少的內容。
我們可以從下面的站點下載該exe文件:http://msdn.microsoft.com/downloads/sample.asp?url=/msdn-files/027/001/829/msdncompositedoc.xml
同時,我們也可以在vs.net安裝cd或者dvd中找到該文件。
我們可以通過多種方式來通過運行dotnetfx.exe把.net framework部署到目標機器上:
1.通過microsoft systems management server部署。
2.通過active directory部署。
3.使用第三方工具。
具體的信息,我們可以參閱下面的文章:
http://msdn.microsoft.com/library/en-us/dnnespanep/html/redisspaneploy.asp
制作自己的native安裝程序
如果我們要把自己的.net程序發(fā)布到目標機器上,同時我們不確定該目標機器是否已經安裝了.net framework, 那我們就需要自己設計一段unmanaged代碼,來判斷目標機器是否安裝了.net framework, 如果沒有,則運行dotnetfx.exe安裝.net framework, 然后利用windows installer安裝自己的程序。
在msdn的下面網頁上,我們可以獲得一個使用unmanaged c++實現的安裝程序和它的源代碼:
http://msdn.microsoft.com/downloads/default.asp?url=/code/sample.asp?url=/msdn-files/027/001/830/msdncompositedoc.xml
1.在csettings 徑,以及其他您自己的設置。(比如.net framework的語言版本) parse()函數用來解析settings.ini文件。 2.在main.cpp文件中,全局函數fxinstallrequired()判斷是否要在目標機器上安裝.net framework. fxinstallrequired()會檢測下面的注冊表鍵值和dotnetfx.exe的版本和語言設置。 hklm/software/microsoft/.netframework/policy/v1.0 3.如果需要安裝.net framework, 在全局函數execcmd()中調用下面的命令silent安裝dotnetfx.exe: dotnetfx.exe /q:a /c:"install /l /q" 4.在execcmd()全局函數中調用下面的命令安裝您自己的msi文件:msiexec /i reboot=reallysuppress 使用方法 如果我們使用上面的native代碼作為自己的安裝程序,那么我們可以通過下面的步驟把自己的.net程序和它結合在一起: 1.把您自己的.net程序制作成為windows installer (.msi)文件。
getcaptiontext(void)
getdialogtext(void)
geterrorcaptiontext(void)
getininame(void)
getproductname(void)