標籤:blog http java 使用 檔案 資料
該文是根據網上的文章並結合自己實際打包的過程而整理的。
開發平台: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