程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#打包制作安裝程序過程全記錄

C#打包制作安裝程序過程全記錄

編輯:C#入門知識

該文是根據網上的文章並結合自己實際打包的過程而整理的。

開發平台: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"
7. 安裝路勁設置

選擇[文件系統]->[應用程序文件]->[屬性]->DefaultLocation=路勁(D:\文件夾\)
參考:
手把手教你用C#打包應用程序(安裝程序)【卸載模塊已添加. http://bbs.bccn.net/viewthread.php?tid=129015.
C#打包. http://www.cnblogs.com/wenlin1234/archive/2008/01/16/798737.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved