最近公司業務需求,使用VS2015打包一個程序exe。app
VS2015 沒有自帶打包工具,因此要先下載並安裝一個打包工具。框架
採用微軟提供的打包工具: InstallShield2015LimitedEdition。工具
下載地址:https://msdn.microsoft.com/en-us/library/dn531020.aspx。字體
注意:要先註冊才能下載,註冊的時候必定要填寫本身本人的準確的郵箱號碼,註冊成功後會發送一封郵件,郵件內含註冊碼。flex
把打包工具安裝好後,先使用註冊碼激活後再進行打包,若是選擇試用就進行打包,安裝打包後的軟件的時候會有提示,大概內容就是:本軟件是使用的未註冊的工具進行打包的。(PS:多影響用戶體驗啊,尚未安裝使用就收到警告提示)網站
在要打包的項目的「解決方案資源管理器」中,右擊「解決方案***」 》添加》新建項目。在彈出框中選擇和設置信息以下圖:ui
建立成功後的資源管理器的結構圖以下圖:this
Application Information主要設置程序在安裝時顯示的有關程序的一些信息,包括:程序開發公司、程序名、程序版本號和公司官網等。spa
General Information 還能夠設置更加詳細的信息:操作系統
Installation Requirements重點是選擇支持的操做系統和其餘依賴的軟件框架。根據本身需求選擇便可。
Application Files一項用於設置應用程序鎖包含的文件。程序引用的DLL,其餘文件,如:exe文件,chm文件等都在這一步添加。
首先設置程序的主輸出(主輸出就是程序主體,包括程序的啓動和入口):
操做步驟:1.選中程序名(圖中左邊紅框) 》 2.點擊「Add Project Outputs」 》 3.勾選主輸出(圖中左邊紅框)》4.點擊「OK」
經過「Add Files」添加程序引用的DLL及其餘文件。
操做步驟:
1.點擊左邊的「Create an uninstallation shortcut」,爲程序建立卸載項目;
2.點擊「New...」,在彈出的菜單中選擇上一步生成的「*.主輸出」文件,默認名字是「Built」,經過「rename」按鈕能夠改變名字,本名字將顯示在安裝程序的圖標下面(如桌面上的QQ圖標);也能夠設置程序Shortcut,即選擇程序安裝後在桌面或開始菜單中顯示的圖標;
3.設置程序圖標和卸載選項圖標的顯示位置,選項以下圖4方框。
也能夠不設置,跳過此步驟。
根據自身需求進行設置便可。
上面的安裝步驟執行完成後便可生成解決方案,可是生成的文件會放在DVD-5文件夾內,想要使用安裝文件的話就必須拷貝整個文件夾不然安裝會出錯,這樣內容很繁瑣,並且給客戶的安裝體驗度也不好。
解決方法:使用SingleImage的安裝包,將全部文件集成到一個Setup.exe中,再次安裝的時候只須要一個Setup.exe便可。
步驟:右擊「解決方案」 》 屬性,再按下圖進行設置。
操做步驟以下圖:
通過上述步驟,程序打包完成,打包後的exe文件:
在打包過程當中,可能會遇到各類報錯,根據錯誤編號放狗搜索,一個個解決完,那麼打包後的程序必定能夠安裝執行。
------------------------------------------------------------------------------------------------------------
InstallShield的官網是:
http://learn.flexerasoftware.com/content/IS-EVAL-InstallShield-Limited-Edition-Visual-Studio
如今的最新版本應該是InstallShield 2015,按照網站說明註冊安裝便可。
也能夠這樣安裝:
一、打開VS2013,文件-新建-項目-已安裝-模板-其餘項目類型-安裝和部署-啓用InstallShield Limited Edition。
二、根據提示操做,點擊步驟2的「轉到下載網站」。
三、填寫相關信息後,點擊Download下載InstallShield,同時註冊郵箱會收到一封郵件,裏面有 序列號 和下載連接。
四、退出VS,使用管理員權限從新打開VS,在文件-新建-項目-已安裝-模板-其餘項目類型-安裝和部署中則能夠看到InstallShield Limited Edition Project,點擊肯定,會彈出註冊對話框,輸入註冊郵箱中收到的 序列號 便可完成註冊。
下面介紹一下打包發佈軟件的教程:
1、安裝好InstallShield插件後,打開VS 2013;
鼠標點擊:文件-》新建-》項目-》已安裝-》其餘項目類型-》安裝和部署,看到如下圖片:
點擊第一個選項(新安裝的InstallShield插件),設置好名字(這裏是TestInstallShield),點擊肯定:
Project Assistant界面以下:
2、打包過程按照Project Assistant的引導界面從左往右操做就行了:
(一)Application Information:
Application Information 中填寫公司名稱、產品名稱、版本號、網址的信息。
Application Information 左側窗口點擊 General Information:
(1)General -> Setup Language:設置安裝語言
(2)General -> INSTALLDIR:設置安裝路徑
(3)General -> Fast Install:根據須要配置以便加速安裝速度
a、No system restore point is saved for this installation:沒有爲這個程序保存系統恢復點
b、Perform only File Costing and skip checking other costs:僅執行文件花費和跳過檢查其餘成本
c、Reduce the frequency of progress messages:下降進度條信息的頻率
(4)Summary Information Stream -> Require Administrative Privileges:設置管理員權限
將該項設爲「Yes」。這樣設置以後,用戶就能夠有管理員的權限去安裝該安裝文件了,避免用戶
在安裝的時候出現權限不夠的問題。
(5)Add or Remove Programs -> Disable Change Button, Disable Remove Button, Disabl
e Repair Button,這三個至少要有一個選爲「NO」,所有設爲「YES」的話,則在控制面板中,對應的軟
件沒有「更改/刪除」的按鈕能夠點擊,即在這裏就卸載不了軟件了。
(二)Installation Requirements:選擇程序運行的操做系統及須要的軟件
可選的軟件有Adobe Reader、.NET Framework、IE、Office等
(三)Application Files:添加要打包的文件
Destination Computer:右鍵 Show Predefined Folder 可選擇須要的文件夾,例如Font文件夾,將字體文件加入該文件
夾,安裝時會自動安裝字體。
添加完文件後,全選文件,右擊,選中「Always Overwrite」。不然有時會出現從新安裝後,有些文件沒有被覆蓋。
(InstallShield Limited edition沒有這項權限)
添加完文件後,還須要添加C:\Windows\System32\msiexec.exe,用於添加卸載程序的快捷方式。
(四)Application Shortcuts:建立桌面和開始菜單的快捷方式
點擊左側的Shortcuts,可配置快捷方式的屬性信息。
卸載程序的快捷方式設置參數以實現卸載功能:Behavior -> Argument 設置爲「/x {Product Code}」
(五)Application Registry:添加註冊表
(六)Installation Interview:配置安裝界面
Do you want to display a License Agreement Dialog:
配置License界面
Do you want to prompt users to enter their Company Name and User Name:
配置是否展現輸入公司名稱和用戶名稱的界面
Do you want your uses to be able to modify the installation location:
配置用戶是否能夠修改安裝路徑
Do you want users to be able to selectively install only certain parts:
配置用戶是否能夠選擇安裝的模塊
Do you want to give users the option to launch your application when the installation:
配置用戶是否能夠在安裝結束後選擇啓動應用程序
點擊左側的 Dialogs 可詳細配置安裝界面是否顯示及具體內容。
(七)將須要的其餘工具一塊兒打包到安裝程序中:
解決方案中 Specify Application Data -> Redistributables 可選擇要打包的程序
這裏要打包的程序大部分是VC和Windows自帶的程序:
解決方案中 Specify Application Data -> Files 可選擇要打包的文件,能夠把須要的打包的
文件放進去
(八)設置安裝程序的生成路徑及方式:
解決方案中 Prepare for Release -> Releases
CD-ROM:可生成 msi、exe 安裝包。
若Build -> Compression的值爲UnCompressed,則完整的安裝程序爲program files文件夾+msi文件。
若Build -> Compression的值爲Compressed,則完整的安裝程序爲cab文件+msi文件。
SingleImage:只能生成 exe 安裝包,也可配置Build -> Compression。
CD-ROM 或 SingleImage 中選擇 Setup.exe -> InstallShield Prerequisites Location,設置爲 Extract
From Setup.exe
安裝程序的生成路徑爲:\Express\CD_ROM\DiskImages\DISK1
或 \Express\SingleImage\DiskImages\DISK1
可在VS上方的工具欄中選擇生成方式。
(九)這裏SingeImage只生成一個EXE,咱們的軟件就選擇這種方式(比較方便)。
發佈時,直接拷貝EXE文件就能夠了。