您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“C#安裝類如何完整打包”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
首先,創(chuàng)建一個(gè)安裝和部署項(xiàng)目。步驟如下:
1.在 "解決方案資源管理器 "中的解決方案中添加一個(gè)新項(xiàng)目。
用鼠標(biāo)右鍵單擊解決方案,在彈出的菜單中選擇 "添加 "-> "新建項(xiàng)目 "。在打開的對(duì)話框中選擇 "安裝和部署項(xiàng)目 ",并選擇 "Web安裝項(xiàng)目 "模板。在輸入項(xiàng)目名稱后,點(diǎn)擊 "確定 "按鈕,將新項(xiàng)目添加到解決方案中。
2.將項(xiàng)目的輸出添加到安裝和部署項(xiàng)目中。
添加完安裝和部署項(xiàng)目后,vs.net2003 IDE會(huì)自動(dòng)打開一個(gè)名為 "文件系統(tǒng) "的管理器。用鼠標(biāo)右鍵單擊此管理器右邊樹型結(jié)構(gòu)中的 "Web應(yīng)用程序文件夾 ",在彈出的菜單中選擇 "添加 "-> "項(xiàng)目輸出 "。在彈出的對(duì)話框中,選擇 "項(xiàng)目 "(這時(shí)只有一個(gè),就是你的web應(yīng)用程序項(xiàng)目),然后在下面的列表中選擇 "主輸出 "和 "內(nèi)容文件 "兩項(xiàng)(可以復(fù)選),接著在 "配置 "中選擇 "Release .NET ",點(diǎn)擊 "確定 "按鈕。
經(jīng)過上面兩個(gè)步驟,一個(gè)基本的安裝和部署程序就制作完成了,將此項(xiàng)目編譯后就得到了一個(gè)Web安裝程序包。
然而,在很多的情況下,我們做的Web應(yīng)用程序都要使用到數(shù)據(jù)庫,能不能在安裝程序的同時(shí)也將數(shù)據(jù)庫一起安裝呢?答案是肯定的。那該怎么做呢?這個(gè)問題李洪根先生已經(jīng)解決了,具體內(nèi)容可以參看下面的文章
http://blog.csdn.net/lihonggen0/archive/2004/05/17/13654.aspx在李洪根先生的這篇文章中詳盡的介紹了安裝程序的制作和如何同時(shí)安裝數(shù)據(jù)庫。在此大致敘述如下:
1.新建一個(gè)類庫項(xiàng)目,刪除自動(dòng)生成的Class.cs,重新添加一個(gè)新項(xiàng)。鼠標(biāo)右鍵此項(xiàng)目,在彈出的菜單中選擇 "添加 "-> "添加新項(xiàng) ",在彈出的對(duì)話框中選擇 "安裝程序類 "。
2.創(chuàng)建一個(gè)自定義的安裝對(duì)話框。鼠標(biāo)右鍵點(diǎn)擊 "解決方案資源管理器 "中的安裝和部署項(xiàng)目,在彈出的菜單中選擇 "視圖 "-> "用戶界面 "。在打開的 "用戶界面 "管理器中,鼠標(biāo)右鍵點(diǎn)擊 "啟動(dòng) ",在彈出的菜單中選擇 "添加對(duì)話框 "。在打開的對(duì)話框中選擇 "文本框(A) "。選擇 "文本框(A) ",在屬性中,依次設(shè)置含Property屬性為CUSTOMTEXT1,CUSTOMTEXT2,CUSTOMTEXT3,CUSTOMTEXT4。
3.創(chuàng)建自定義操作。鼠標(biāo)右鍵點(diǎn)擊 "解決方案資源管理器 "中的安裝和部署項(xiàng)目,在彈出的菜單中選擇 "視圖 "-> "自定義操作 "。在打開的 "自定義操作 "管理器中,鼠標(biāo)右鍵點(diǎn)擊 "安裝 ",在彈出的菜單中選擇 "添加自定義操作 "。在打開的對(duì)話框中,在 "查找范圍 "中選擇 "Web應(yīng)用程序文件夾 ",選擇下面列表中的 "主輸出來自Install1(活動(dòng)) "(Install1是 "安裝程序類 "所在的項(xiàng)目名。如果列表中沒有,可以用上面提到的 "將項(xiàng)目的輸出添加到安裝和部署項(xiàng)目中 "的方法添加)。然后在 "自定義操作 "管理器中選擇剛添加的內(nèi)容,在屬性窗口中設(shè)置CustomActionData屬性/dbname=[CUSTOMTEXT1] /server=[CUSTOMTEXT2] /user=[CUSTOMTEXT3] /pwd==[CUSTOMTEXT4] /targetdir= "[TARGETDIR]\ "
注意:每個(gè)設(shè)置內(nèi)容以/分隔,且以空格分開。
4.在此類中重寫Install方法,并添加下面的代碼
string strConn=String.Format( "data source={0};user id={1};password={2}; ",this.Context.Parameters[ "server "],this.Context.Parameters[ "user "],this.Context.Parameters[ "pwd "]); this.ExecuteSQL(strConn, "master ", "CREATE DATABASE "+this.Context.Parameters[ "dbname "]); System.Diagnostics.Process pSQL=new System.Diagnostics.Process(); pSQL.StartInfo.FileName= "osql.exe "; pSQL.StartInfo.Arguments=String.Format( " -U {0} -P {1} -d{2} -i {3}db.sql ",this.Context.Parameters[ "user "], this.Context.Parameters[ "pwd "], this.Context.Parameters[ "dbname "],this.Context.Parameters[ "targetdir "]); pSQL.StartInfo.WindowStyle=System.Diagnostics.ProcessWindowStyle.Hidden; pSQL.Start(); pSQL.WaitForExit(); pSQL.Close();
這樣,編譯后的安裝程序就可以連數(shù)據(jù)庫一起安裝了。
安裝數(shù)據(jù)庫的問題解決了,還有一個(gè)問題,那就是要使ASP.NET程序運(yùn)行,一個(gè)重要的條件就是目標(biāo)計(jì)算機(jī)上必須有.NET框架,那能不能在安裝程序時(shí)也一同將.NET框架一塊安裝了呢?答案還是肯定的。具體可以參看
http://www.microsoft.com/china/MSDN/library/netFramework/netframework/
Nfdnnetdepvsredistdeploy1_1.mspx在這篇文章中提到了幾種不同的方法重新分發(fā).NET框架,其中最簡(jiǎn)單的一種應(yīng)該算是使用VS.NET2003了。大致的步驟如下:
1.安裝VS.NET框架引導(dǎo)程序插件。這個(gè)插件可以從微軟的網(wǎng)站上下載,下載地址如下:
http://www.microsoft.com/downloads/details.aspx?familyid=627921a0-d9e7-43d6-a293-72f9c370bd19&displaylang=en2.在 "解決方案資源管理器 "中,用鼠標(biāo)右鍵單擊安裝和部署項(xiàng)目,在彈出的菜單中選擇 "視圖 "-> "啟動(dòng)條件 ",打開 "啟動(dòng)條件 "管理器。
3.在 "啟動(dòng)條件 "管理器中,右鍵點(diǎn)擊 "目標(biāo)計(jì)算機(jī)上的要求 ",在彈出的的菜單中選擇 "添加注冊(cè)表啟動(dòng)條件 "。你會(huì)發(fā)現(xiàn)在 "搜索目標(biāo)計(jì)算機(jī) "中多了一項(xiàng) "搜索 RegistryEntry1 ",在 "啟動(dòng)條件 "中多了一項(xiàng) "Condition1 "。
4.選擇 "搜索 RegistryEntry1 ",在 "屬性 "對(duì)話框中填寫如下內(nèi)容:
Property:MDACSEARCH
RegKey:Software\Microsoft\DataAccess
Root:vsdrrHKLM
Value:FullInstallVer
選擇 "Condition1 " ,在 "屬性 "對(duì)話框中填寫如下內(nèi)容:
Condition:MDACSEARCH> = "2.6 "
進(jìn)行這一步是因?yàn)樵诎惭b.NET框架的時(shí)候需要MDAC。
“C#安裝類如何完整打包”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。