發布、打包安裝程序詳解
1、在 選擇“新建項目”→“其他項目類型”→“
”→“安裝項目”:
命名為: ,選擇好位置后點確定。這時在中將有三個文件夾,如圖:
a.“應用程序文件夾”:表示要安裝的應用程序需要添加的文件;
b.“用戶的‘程序’菜單”:表示應用程序安裝完,用戶的“開始菜單”
中的顯示的內容,一般在這個文件夾中,需要再創建一個文件用來存放:應用程序.exe和卸載程序.exe;
c.“用戶桌面”表示:這個應用程序安裝完,用戶的桌面上的創建的.exe
快捷方式。
2、應用程序文件夾中點右鍵,添加文件:表示添加要打包的文件;
添加的文件一般是已經編譯過應用程序的debug目錄下的文件(主要為.exe文件vs2010把程序打包成安裝包,其他文件可選);
如果有所需要的動態庫也加載進來:
如果還要添加子文件夾則需要“添加文件夾”
然后把對應的子文件里的內容添加到此文件夾中;
把需要創建程序快捷方式的圖標也添加進來(在res文件夾下),后綴名為:ico
3、在創建的項目名稱()上點擊右鍵 屬性,選擇系統必備:
如果在項目名稱()的“檢測到的依賴項”里檢測到所添加的程序文
件有.NET依賴,如圖:則選擇所需的.NET的版本和 .1(可選項),如果沒有則不用選。
選擇:“從與我應用程序相同的位置下載系統必備組件”,這樣安裝包就會打包.NET ,在安裝時不會從網上下載.NET 組件;但是安裝包會比較大。
在創建安裝程序時,需要設置啟動條件(如果有.NET依賴):在項目名稱()上,點擊右鍵選擇“視圖” “啟動條件”:
然后會彈出啟動條件視圖:
在“啟動條件”的屬性中, 點擊選擇所需的.NET版本。
4、設置安裝文件的目錄(路徑):
創建的項目名稱()的屬性中設置參數如下圖:
其中 為作者;為公司名稱;為應用程序的名字;
例如我的設置為:
:nnrh;
:M&W;
:測卡程序。
把 設置為True 。(這樣在“控制面板”程序中會顯示公司的名稱;
在安裝時會默認為“任何人”,否則默認為“只有我”)
點擊應用程序文件夾,在其屬性里,如下圖:為默認的安裝路徑,第一個([])為系統主目錄(默認C:\),第二個([])為公司名,第三個([])為應用程序名稱,這樣在安裝時就會創建兩層的文件路徑。需要刪除中的:[] 。刪除后只有應用程序的名稱(默認的安裝路徑為:C:\ Files\測卡程序,如果沒有刪除,則默認的安裝路徑為:C:\ Files\M&W\測卡程序)。
5、創建應用程序圖標與卸載程序:
A.“在應用程序文件夾”中的.exe文件中,點擊右鍵,創建快捷方式:
重命名“測試程序”,然后點擊右鍵屬性:選擇Icon
雙擊進入,點擊瀏覽—》應用程序文件夾--》選擇我們之前添加的“.ico”
確定后,拖動此快捷方式到“用戶桌面”
B. 在《用戶的‘程序’菜單》中添加一個文件夾,命名為:“測試程序”(如果不添加一個文件夾,安裝程序后在開始--》程序里會直接顯示.exe,如果添加了文件夾,安裝程序后在開始--》程序里會出現一
個測試程序文件夾,在其下面會有.exe程序)然后同樣的方式創建.exe的一個快捷方式命名為測試程序,選擇圖標,拖動到“測試程序”文件夾中;
c.創建卸載程序:
在“應用程序文件夾”中添加:C:\\.exe
右鍵創建快捷方式,重命名為:卸載,把此快捷方式拖動到“測試程序”文件夾中;
點擊項目名稱(),在屬性中找到:,復制此 ,粘貼到“卸載”快捷方式的屬性里,前面加/x空格。
注:這里是,而不是.
6、完成以上步驟,就可以生成解決方案了。
7、生成解決方案后,在debug文件夾中就是我們需要的安裝包(setup.exe),
如果在前面的《系統必備》里選擇了.NET版本,則會.NET 版本安裝包(文件夾,根據版本不同,名稱也有所不同),安裝包發布時應將整個Debug文件夾發布出去。
8、點擊setup.exe安裝完在開始菜單中有“測試程序”文件夾,里面有我們
創建的兩個快捷方式;
桌面上也有快捷方式。
我們安裝后,右鍵點擊桌面的測試程序,選擇屬性,會發現《打開文件位置》(本文用的系統是Win7,XP下為查找目標)是灰色的,不用使用,開始程序里面的也是如此。如圖:
這個問題應該是vs打包工程的問題,在vs中好像沒找到可以設置的地方,在網上查了半天,好象只有下面一種解決辦法:
在網上下載orca工具(msi文件編輯工具)。安裝orca后,用orca打開msi安裝包,在左邊的列表中找到表,在右邊記錄中找到為的記錄,修改該記錄的屬性為[]應用程序名稱.exe (測試過不用后面的.exe也可以)。
可以看出為桌面快捷方式,最上面的為開始程序里的快捷方式,將屬性改過后保存即可。安裝后打開文件夾位置可用。
點擊可以打開.exe所在文件夾。
還有我們點擊開始程序里的卸載,可以卸載掉程序,但是點擊安裝文件夾里的.exe會出現以下窗口:
.exe直接點擊是不能卸載程序的vs2010把程序打包成安裝包,那要是客戶要想卸載掉程序,萬一點擊了安裝程序下的.exe出現上面的情況可能會以為有問題。為了解決這一問題,我們可以在《目標計算機上的文件系統》上點右鍵—》添加特殊文件夾—》用戶的 Data文件夾(這里可以自己根據情況添加),把.exe 放到此文件夾下(可以更名為.exe),然后再創建快捷方式(注:在
.exe創建好快捷方式后,不能再移動.exe到別的文件夾里,如果這樣會使快捷方式找不到卸載程序而無法卸載程序)。這樣安裝后不會在程序的安裝文件夾下出現.exe,會安裝在 Data文件夾里(這是個隱藏文件夾)。客戶卸載程序時只能從開始程序里卸載或是在控件面板的卸載程序里卸載。(這個我個人的想法,其實也可以不用添加卸載程序,要想卸載程序,可以在控件面板的卸載程序里卸載)。
下面是英文版制作中文環境安裝包(這是網上搜的,因個人用的漢化版的VS,所以不存在下面的情況,所以沒有測試過)
自從發布以來,一直在用英文版本,接下來就說明用英文版本制作中文環境安裝包方法。
開發工具:VS 2010 EN
開發語言: C#
先來看下英文版制作中文環境安裝包出現的錯誤:
當創建有中文字符的文件夾或文件名都會出現“波浪線”,安裝后就會是亂碼,當然,解決這個問題的方法也很簡單,
按照上圖,設置安裝包屬性 為()。
這樣雖然可以解決中文字符問題,但如果是要打包.net 環境的話(當然,您要是不打包.net環境這個就不在討論之內了)
,如下圖選擇將.net 環境一起打包,