vs 安裝和部署

開發平臺:VisualStudio2005中文版。

步驟如下:

1. 創建一個安裝嚮導項目或安裝部署項目
 
新建項目-〉其他項目類型-〉安裝與部署-〉安裝嚮導(或安裝部署),如命名爲setup。

2. 將要打包的項目導入到這個安裝項目中,有兩種方式:
   第一種,自動方式,在解決方案上右擊-〉添加-〉現有項目-〉選擇你要打包的項目,這樣就會把這個項目添加到該解決方案中來,
   然後在安裝項目setup上右擊-〉添加-〉項目輸出-〉主輸出,在項目下拉框中選擇剛添加的項目,選擇這樣就會把這個要打包的項目的基本文件添加到左側的應用程序文件夾中,名字爲主輸出來自**(活動)。
   第二種,手動方式,右擊左側的應用程序文件夾(這個文件夾就是要打包的項目中需要的文件)-〉添加-〉文件或文件夾,主要是exe文件和其他配置文件或數據文件。

在第一種方式中,系統會自動將要打包的項目所依賴的依賴項添加到“檢測到的依賴項”中,如Microsoft .Net Framework,如果沒有就需要手動添加了。
在第二種方式中,依賴項需要手動添加,右擊項目-->添加-->合併模塊,選擇要添加的文件,.Net Framework是必須的,位於:C:/Program Files/Common Files/Merge Modules/ 下。

注意在第一種方式中,如果要打包的項目有配置文件或數據文件等其他,還需要手動將它們添加到應用程序文件夾中。


3. 建立目標機器上的開始-〉程序菜單和桌面的快捷方式

   右擊應用程序文件夾中的可執行文件-〉創建快捷方式,創建完後,可以重命名爲合適的中文名,將該快捷方式剪貼到用戶的“程序”菜單中,一般可以先在“程序”菜單中創建一個文件夾。同樣的,再創建一個到用戶桌面中。

4. 創建卸載程序
   卸載程序的創建方式也有兩種。

   第一種,自己編寫代碼,代碼如下

  /// <summary>
  /// 應用程序的主入口點。
  /// </summary>
  [STAThread]
  static void Main()
  {
       System.Diagnostics.Process.Start("msiexec", "/X{C4A3986F-EA12-4194-BB8B-A9777E78A6ED}");
       Application.Exit();
       //Application.Run(new Form1());
  }

其中{C4A3986F-EA12-4194-BB8B-A9777E78A6ED}爲安裝項目的ProductCode屬性值。查看該值時需要點擊解決方案中的安裝項目的名字,然後在屬性窗口(菜單中的視圖-〉屬性窗口)中查看ProductCode屬性值。

然後將該段代碼的可執行文件加入到應用程序文件夾中,在卸載項上指向它即可.

   第二種,使用msi實現
   在左側的應用程序文件夾中添加c:/windows/system32/msiexec.exe文件,爲了明確其意義,可改爲uninstall.exe。然後按照上面提到的步驟創建該卸載文件的快捷方式,同樣剪貼到用戶的“程序”菜單中。
   在第三步中提到先在“程序”菜單中創建一個文件夾,所以這裏將該文件放到這個文件夾下,否則打包的程序安裝後,在開始-〉程序列表中是看起來毫無關係的兩個快捷方式。爲了便於識別,將此快捷方式的名字修改爲“卸載**”,**爲軟件名稱。
   修改該快捷方式的Argument屬性值爲"/x {ProductCode}",ProductCode的查看方式見第4步中的第一種方式。

5. 設置安裝項目的屬性
   1) 設置安裝文件安裝時的路徑
      該路徑是由安裝項目的屬性manufacture,productname來決定的,爲"C:/ProgramFiles/[manufacture]/[productname],可以修改這兩個屬性值,或者乾脆去掉manufacture屬性,操作如下:
      右擊左邊的"應用程序文件夾"打開屬性對話框,將屬性中的"defaultlocation"的路徑中的"[manufacturer]"去掉。
   2) 在解決方案管理器中右擊安裝項目的名稱-〉屬性,在打開的屬性頁中,選擇"系統必備",勾中.Net Framework2.0。
      並且選中下面的“從與我相同的位置下載系統必備組件”。默認是第一項從網站進行下載,第三項是手工添加的方式。
   3) 可選。設置安裝項目的RemovePreviousVersion屬性爲True,InstallAllUsers屬性爲True。


6. 生成解決方案
   生成-〉生成解決方案。

   其更全的操作請到如下查看:
   http://www.microsoft.com/china/MSDN/library/netFramework/netframework/VCSdnnetdepvsredistdeploy.mspx

?mfr=true
http://www.java-asp.net/aspnet/200601/t_49903.html
部署.net平臺的程序

在我實際打包的過程中,採用的是第二步中的第一種方式,第四步的第二種方式。雖然安裝程序後,在安裝目錄下有msiexec.exe,但是點擊卸載卻並沒有卸載掉程序,需要從控制面板中進行卸載。

附:
將.Net Framework2.0打包到安裝程序中的另一種方式需要用到MicrosoftVisual Studio .NET 2005 引導程序插件PluginInstaller.msi,可以到微軟官方網站下載,然後安裝。安裝該插件後再進行打包時,會發現安裝文件的同級目錄下會多出好幾個文件。

另外在第五步中選擇從從網站下載.Net Framework 2.0,可以通過下面的方式查看url地址:
點擊解決方案下的安裝項目,視圖-〉編輯器-〉啓動項目。可以左側的啓動條件下有.Net Framework一項,點擊該項後在屬性窗口中查看InstallUrl屬性,一般爲"http://go.microsoft.com/fwlink/?LinkId=9832"

參考:
手把手教你用C#打包應用程序(安裝程序)【卸載模塊已添加. http://bbs.bccn.net/viewthread.php?tid=129015.
C#打包. http://www.cnblogs.com/wenlin1234/archive/2008/01/16/798737.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章