總體介紹
解決方案里面需要有三個項目: Winform程序, Setup Project , 自定義配置項目(安裝程序類)
1, Winform程序 就是你要打包的程序
2, Setup Project 就是制作安裝包的
3, 自定義配置項目(安裝程序類): 一個命令行項目里面只有一個安裝程序類,用來控制安裝后自動打開程序( 沒有需求可以不要 )
一, 最簡教程
1, 安裝擴展
選擇 擴展–>管理擴展–>聯機 (或者選擇 工具–>擴展和更新–>聯機),搜索Microsoft Visual Studio Installer Projects,進行安裝,安裝好之后,重啟vs(一定要重啟)
2, 新建項目
選擇 Setup Project 模板新建打包項目, 例如Setup1
3, 添加需要打包的項目
右鍵Setup1項目–> Add --> 項目輸出 (一般會自動選中目標項目) --> 確定
4, 測試
"生成"沒有報錯后, 右鍵Setup1項目–>安裝, 測試沒問題就可以了
二, 安裝配置
以安裝后啟動exe文件舉例:
新建命令行項目, 右鍵項目–>添加–>新建項–>安裝程序類, 修改代碼如下:
// 安裝后啟動exe文件舉例
[RunInstaller(true)]
public partial class Installer1 : System.Configuration.Install.Installer
{public Installer1(){InitializeComponent();}protected override void OnBeforeInstall(IDictionary savedState){Console.WriteLine("安裝開始, 這里的代碼用于測試和驗證");string dir = "C://公司";if (!System.IO.Directory.Exists(dir)){Directory.CreateDirectory(dir);}}protected override void OnAfterInstall(IDictionary savedState){// 設置要打開的exe文件的路徑string exePath = "C:\\公司\\產品\\APP.exe";// 安裝后啟動exe文件Process.Start(exePath);Console.WriteLine("安裝結束");string dir = "C://公司//Success";if (!System.IO.Directory.Exists(dir)){Directory.CreateDirectory(dir);}}
}
這樣就可以了, 生成exe, 在Setup->Add->文件, 把exe加進來
在右鍵項目->View–>自定義操作–>install–>右鍵"添加自定義操作", 選中剛剛加入的exe, 即可
安裝的時候會自動執行Installer1里面的代碼
三, 其他常見配置
直接修改Setup1.vdproj 文件
有一些配置在VS里面不好設置, 直接修改 Setup Project的項目主文件: xxxxx.vdproj
以我的項目舉例: 用記事本打開 Setup1.vdproj 文件 , 搜索需要配置的項目進行修改
// 修改產品名: 就是在安裝對話框里面顯示的產品的名字
"ProductName" = "8:xxxxx"// 修改公司名稱:
"Manufacturer" = "8:xxxxxxx"// 修改程序的默認安裝路徑, 例如安裝到C盤根目錄
"DefaultLocation" = "8:C:\\[Manufacturer]\\[ProductName]"// 修改默認為所有用戶安裝 :
"InstallAllUsers" = "11:TRUE"// 安裝包需要以管理員權限運行 : 例如要修改注冊表的時候
"RequiresElevation" = "11:TRUE"
添加桌面快捷方式
右鍵"主輸出",創建一個快捷方式, 再把快捷方式拖動到 “User’s Desktop” 里面, 改個名字
注冊DLL
有些dll需要注冊
手動的命令類似這樣: regsvr32 D:\grdes6.dll
這里可以設置安裝時自動注冊:
先把dll添加進來(Add->文件), 右鍵添加進來的dll設置“Register”屬性為“vsdrfCOMSelfReg”。