这里写目录标题
- 安装Microsoft Visual Studio Installer Projects
- 创建安装项目
- 设置安装程序文件
- 设置程序桌面图标
- 给程序设置安装程序名称
- 安装程序类怎么使用
- Installer1.cs
- 自定义安装步骤
- 自定义设置安装程序路径,让用户安装时不能选择安装路径
- 生成安装包
安装Microsoft Visual Studio Installer Projects
解决方案选中,visual studio界面顶部菜单栏,扩展—>管理扩展—>联机,在右侧搜索栏输入setup,搜索项目,安装Microsoft Visual Studio Installer Projects 2022,
创建安装项目
然后在解决方案上右键,新建项目,搜索setup,选中Setup Project下一步创建此项目;
在安装项目上右键,选择View–>文件系统—>Application Folder,去要发布的程序复制他的Release版本文件到此栏粘贴即可,
设置安装程序文件
设置程序桌面图标
选中User’s Desktop,然后点击右键—>创建新的快捷方式,然后选择Application Folder里面的exe,点击ok,
给程序设置安装程序名称
此名称显示在控制面板–程序和功能–中的名称。选择安装项目,然后按F4,弹出属性窗口
- ProductName:设置程序安装名称,
- Author:设置程序发布人,一般是公司名称
- TargetPlatform : 指定软件目标平台 x86 or x64
- Version :发布版本号
安装程序类怎么使用
在解决方案上右键,创建一个控制台应用程序ProjectStepOperate,项目名称自定义,然后控制台应用程序项目,右键,新建项,选择安装程序类Installer1.cs,这个ProjectStepOperate项目用于安装项目选择操作程序,在安装项目中,选择View—>自定义操作,出现如下图界面,把ProjectStepOperate项目生成一下,然后在bin/release/下选择exe,作为Install的操作程序,Uninstall雷同,将如此Installer1.cs会在安装时被调用,
Installer1.cs
在安装程序类中,可以在OnAfterInstall方法中,写注册表创建项,
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Whl.Tool;namespace ProjectStepOperate
{/// <summary>/// 安装控制/// </summary>/// 创建时间:2023-7-7 16:56:50, [RunInstaller(true)]public partial class Installer1 : System.Configuration.Install.Installer{public Installer1(){InitializeComponent();}protected override void OnBeforeInstall(IDictionary savedState){//File.WriteAllText("c://Installer1.txt", "安装前执行," + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));RegeditWrite.AddLog("安装前执行OnBeforeInstall");string dir = "c://zyt_bluetooth_service";if (!System.IO.Directory.Exists(dir)){Directory.CreateDirectory(dir);RegeditWrite.AddLog(dir + "安装目录创建成功");}//base.OnBeforeInstall(savedState);}protected override void OnAfterInstall(IDictionary savedState){//File.WriteAllText("c://Installer2.txt", "安装之后执行," + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));RegeditWrite.AddLog("安装之后执行OnAfterInstall");//写入注册表RegeditWrite.WriteExeRunAgreement();}}
}
自定义安装步骤
在用户界面,可以吧“安装文件夹”删除,然后就可以让用户不能选择安装的目录,
自定义设置安装程序路径,让用户安装时不能选择安装路径
在Application Folder右键属性,修改DefaultLocation的值,比如改为C:\zyt_bluetooth_service,
则程序将安装在此路径,可以再用户界面中 Install—>Start—>,删除安装文件夹,删除安装文件夹后,用户安装界面将不再让其选择安装目录,程序将自动安装到设置的C:\zyt_bluetooth_service
生成安装包
在安装项目右键,点击“重新生成”,将在项目文件夹中自动生成安装包,文件xxxx.msi可以双击安装。
参考文章
https://zhuanlan.zhihu.com/p/622419157?utm_id=0
https://blog.csdn.net/qq_39727831/article/details/124421534