ASP.NET項目安裝包制作

作者: steven hu  來源: 博客園  發布時間: 2010-09-12 13:12  閱讀: 14013 次  推薦: 9   原文鏈接   [收藏]  
摘要:最近公司要求OA要以安裝的形式,方便實施人員安裝到客戶機器上。之前是在好幾年前用VS2003的打包過Web項目,不過早已忘卻。所以第一個想法就是使用搜索引擎查找,網上也有許多介紹,不過有些講的比較粗,看不太明白。還是動手實踐一下,或許會清爽明朗。

  在測試Web項目中新建一個Web安裝項目,如下圖:

image   在新建的安裝項目,右擊項目如下圖:

image

  選擇項目輸出,選擇要輸出的項目,如下圖:

image

  我選一個Web網站,則只有內容輸出選項,選中內容文件選擇確定。如果選Web項目,則如下圖:

image

  右擊項目點擊屬性,則出現如下圖:

image

  再點擊系統必備:

image

  這些選擇打包程序需要包含的組件,主要是我們需要.Net Framework組件,我們需要打包進來。這里將.Net Framework 2.0(X86)打鉤,并且在下面指定系統必備組件的安裝位置選擇第二項,這樣就打鉤的組件就會跟進安裝包了。第一項則是組件從微軟網站上下載,第三項則是指定自定義位置。點擊確定,接下來,我們右擊項目,如下圖:

image

  點擊啟動條件,如下圖:

image

  我們可以看到啟動條件,我們來看看IIS條件,右擊IIS條件,查看屬性窗口,如下圖:

image  這里可以看到設置條件,IISVERSION >= "#5"表示IIS版本需要5.0以上,如果需要6.0以上則是IISVERSION >= "#6"。下面我們來設置安裝界面。右擊項目如下圖:

image

  選擇點擊用戶界面,如下圖:

image

  這里我已經添加了三個步驟,分別是許可協議、客戶信息、文本框(A)這三個。

image

  通過右擊啟動,點擊添加對話框,如下圖:

image

  來選擇我們需要的步驟。右擊許可協議步驟,查看屬性如下圖:

image

  我們知道在安裝很多軟件的時候都會有一步是許可協議,然后讓我們點擊同意,然后再下一步,就是這里啦。我們這里添加了一個license.rtf文件到安裝項目,這里就可以選擇這個文件了。

image

  由于在安裝過程也需要設置數據庫,所以我們還需要讓安裝用戶在安裝過程中輸入數據庫服務器信息,這里就是文本框(A)這個步驟啦。右擊步驟查看屬性窗口如下圖:

image

  這里有四個文本框可以使用,我們只需要三個數據庫服務器、帳號、密碼,所以第四個Visible設置為false。由于需要配置數據庫,則我們需要再建一個項目,新建一個類庫項目,然后添加一個安裝類,如下圖:

image

  生成一個安裝類如下圖,是一個繼承Installer類的類。

image

  然后我們需要在安裝類中編寫代碼啦。我們重寫Install方法:

public override void Install(IDictionary stateSaver)

  這里就是我們需要寫配置數據庫信息。然后我們在安裝項目中添加這個項目,如下圖:

image

  然后右擊安裝項目,如下圖:

image

  選擇自定義操作,則出現自定義操作界面如下圖:

image

  然后我們在安裝的操作中添加剛才的新建的項目,右擊安裝,添加自定義操作,如下圖:

image

  選中并點擊確定。接下來我們需要在安裝過程傳遞輸入的數據傳遞這個項目中,右擊安裝下面的剛添加的主輸出,如下圖:

image

  屬性框中的CustomActionData就是指定要傳遞到安裝程序的自定義數據。然后我們再回到新建的那個安裝類,在Install方法就可以接收安裝過程中輸出的數據庫信息,如下:

public override void Install(IDictionary stateSaver)
{
    base.Install(stateSaver);
    string databaseServer = Context.Parameters["server"].ToString();
    string userName = Context.Parameters["user"].ToString();
    string userPass = Context.Parameters["pwd"].ToString();
    string targetdir = Context.Parameters["targetdir"].ToString();

    //這里操作添加數據庫,只要執行創建數據庫的腳本就可以了。


    //這個是測試在安裝目錄下添加接收到的用戶填寫的數據庫信息
    File.WriteAllText(Path.Combine(targetdir, "log.txt"), databaseServer + "/n/r" + userName + "/n/r" + userPass);
}

  這里Context.Parameters["server"]的Server和上面設置CustomActionData是對應的。這樣就完成了安裝包的制作了,編譯生成一下,我們測試一下安裝包是否真的有效。下面接一下制作完安裝過程:

image

image

image

image

image

image

image

image

  安裝過程就這么多了。下面我們來看看是否已經安裝成功,如下圖:

image

  說明Web網站已經成功被安裝到虛擬目錄下了。

9
0
 
標簽:ASP.NET
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()