最近有對一個Windows應用程式少許維護和修改。修改之後要發佈新的exe安裝文件,打包exe文件時,遇到了很頭疼的問題,還好最後解決了,記錄一下。 Visual Studio版本:Visual Studio 2017 <! more Visual Studio 2017 打包插件 新建項目 其他項 ...
最近有對一個Windows應用程式少許維護和修改。修改之後要發佈新的exe安裝文件,打包exe文件時,遇到了很頭疼的問題,還好最後解決了,記錄一下。
Visual Studio版本:Visual Studio 2017
Visual Studio 2017 打包插件
新建項目->其他項目類型->Visual Studio Installer->Setup Project
如果其他項目類型中沒有選項(Visual Studio Installer),點擊“工具”,選擇“拓展和更新”,點擊聯機,搜索“Microsoft Visual Studio 2017 Installer Projects”,安裝該插件。
選擇主輸出
新建項目之後,預設自動打開File System,右鍵點擊Application Folder,添加輸出,選擇主輸出
創建快捷圖標
右鍵點擊“主輸出 from xxx”,選擇“Create ShortCut to 主輸出 from xxx”,新增快捷方式,可以重新命名。選擇快捷方式,左鍵長按拖動至User's Desktop
右鍵點擊快捷方式,選擇屬性視窗
可自選快捷方式的顯示圖標icon
自定義操作
右鍵點擊項目
如果該項目由必選的驅動需要安裝,可以將該驅動安裝exe文件添加到Application Folder中,選擇添加“自定義操作”,選擇該驅動安裝文件,會在執行文件時,調用驅動的安裝。
插件的好處和缺陷
好處:Visual Studio 2017自帶插件,使用方便,比下載安裝其他打包軟體要方便的多。
缺陷:(下述缺陷很可能是因為,我沒有弄清楚該插件的深入使用方法)
- 驅動安裝流程執行結束之後,無法繼續主安裝流程。
- 無法將所需framework環境打包進exe文件。
打包.NET Framework環境
生成的時候,報錯,點擊提示的報錯,跳轉至微軟官網如何:創建本地化的引導程式包
看文檔看半天並不能解決。搜索了很久,終於找到一篇文章【C#】vs2017 發佈工具 Visual Studio Installer 發佈包遇到的問題處理經驗
按照該文章的方式找到路徑:
C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX461
將下載的文件NDP461-KB3102436-x86-x64-AllOS-ENU.exe複製到該路徑下。
最後雖然能生成成功,但是並不是我想要的打包成一個exe文件,很顯然,可能需要對插件更瞭解吧,我是沒找到解決辦法。
InstallShield
官網
又是一番折騰,下載安裝,InstallShield安裝包不小,下載和安裝的時間花費不短。
參照使用InstallShield打包windriver驅動
下載地址:InstallShield 2018(軟體打包工具)
很不幸,證書是2016的,不是2018的,最後打包的時候會出現報錯:Failed to verify digital signature of IsUiServices.dll
報錯類似: InstallShield 2015 錯誤 Failed to verify digital signature of IsUiServices.dll
InstallShield 的優點和缺點
功能強大是優點,也是缺點,因為功能強大也意味著操作複雜。
Inno Setup
官網
Inno Setup操作簡單,最後會生成一個尾碼iss的腳本文件。
可以自己寫function。對我來說,可能會更喜歡GUI操作。Advanced Installer閃亮登場。
Advanced Installer
下一篇文章著重介紹Advanced Installer,非常好用,推薦指數五星。