通过批处理文件在项目编译完成后再生成相应的安装包
解决方案整体目录结构如下
build 中存放编译及生成安装包所需的配置文件及程序
dist 中存放生成的安装包
CompileAndPack.bat 中包含编译项目和打包,如果想直接复制使用需要修改一下文件中的PackDemo.sh、PackDemo为自己项目的解决方案名称和项目文件夹名称
Pack.bat 中包含打包
CompileAndPack.bat文件内容如下:
set BUILD_ROOT=%~dp0
%BUILD_ROOT%\build\nuget.exe restore
c:
cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE"
set COMPILE=devenv.com
set SOLUTION_FILE="%BUILD_ROOT%PackDemo.sln"
del /q/s "%BUILD_ROOT%PackDemo\bin\Release\*"
@echo
%COMPILE% %SOLUTION_FILE% /Rebuild "Release"
set SourceDir=%BUILD_ROOT%PackDemo\bin\Release
set PackSource=%BUILD_ROOT%dist\PackSource\
set createTime=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
md "%PackSource%"
del /q/s "%PackSource%*"
xcopy "%SourceDir%" "%PackSource%" /Y/D/E
del "%PackSource%\*.pdb"
del "%PackSource%\*.xml"
set buildDir=%BUILD_ROOT%build
set outputDir=%BUILD_ROOT%dist
%BUILD_ROOT%\build\CreatePackConfig.exe "%buildDir%" "%outputDir%"
%BUILD_ROOT%build\InnoSetup6\ISCC.exe "%outputDir%\package.iss"
build目录中包含的配置文件及工具如下
- InnoSetup6 是打包工具
- config.json 为配置内容
- PackageTemplate.iss 为打包模板
- CreatePackConfig.exe 是将config.json和PackageTemplate.iss融合在一起生成package.iss,最后使用package.iss生成安装包