1.VS安装InstallerProjects2022插件
首先打开VS安装InstallerProjects2022插件,本人使用的是Visual Studio 2022,用来实现打包程序,搜索:Installer
或直接下载,下载地址:https://pan.quark.cn/s/096cbf3c93e6
2.为现有的项目打包
右键点击解决方案,新建项目
就是刚才安装的打包插件
3.选择项目输出
添加完安装程序项目后,会出来一个主界面,右键点击主界面上Application Folder,选择项目输出,即选择要打包的程序
我这里选择WinForm管理打印的程序
继续选择C#做的PDF打印服务
4.添加文件资源
为打包程序添加生成的桌面ICO图标文件,和服务管理bat批处理文件,批处理已经写我好的,当然你也可以添加自己的文件
用于打印管理程序,控制服务的启动和停止
启动服务并设置自动:
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
echo 开启服务
net start "你的服务名"
sc config "你的服务名" start=Auto #设置为自动
#pause
停止服务:
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
echo 关闭服务
net stop "你的服务名"
#pause
5.添加用户桌面快捷方式
即安装程序后在用户的桌面显示的快捷方式,我这里需要管理打印服务,所以要选择ServiceManage,右键点击创建,修改好名称后拖动到”User’s Desktop”文件夹内
安装后桌面就会显示这个名称“PDF自动打印管理”
6.添加程序的菜单
就是出现在开始菜单里面的,实现方式和第5一样,这里就不说了
7.添加自动安装打印服务
最关键就是这步,安装程序后,服务也会自动安装上,但是不会自动开启,要手动开启,所以才有了上面的打印管理界面程序控制和配置
右键点击安装程序项目,view-自定义操作
这四个都要添加上自定义操作,选择我们刚才添加的自动打印服务程序
8.生成打包程序
选择编译方式release,选择选择打包程序右键点击生成,就会生成打包文件了,现在就去release目录里看下有没