Windows程序打包脚本[bat]的详细流程
author:一佰互联 2019-04-22   click:282

打包脚本的流程和自动打包基本相同:

1. 编译软件

2. 拷贝需要的内容

3. 代码签名

4. 打包成安装文件

5. 再次签名,并将安装文件名称改成需要的格式

------------------------------------------------------------------

编译软件需要初始化vs的运行环境,如

call "D:Program Files (x86)Microsoft Visual Studio 12.0VCinvcvars32.bat"

然后开编译。

编译完成,拷贝文件,使用signtool对软件进行签名,

signtool sign /f codesign.cer ..inappJoywok.exe

最后将其修改为需要的命名风格,这里使用了 git rev-list HEAD --count 来获取git的提交次数作为build version

rem 修改软件名称for /f "delims=" %%i in ("git rev-list HEAD --count") do (set "buildversion=%%i")echo %buildversion%cd setupset year=%date:~0,4%set month=%date:~5,2%set day=%date:~8,2%set ymd=%year%%month%%day%-b%buildversion%ren setup.exe joywok-aws-setup-%ymd%.exe

完整的示例:

@echo offcall "D:Program Files (x86)Microsoft Visual Studio 12.0VCinvcvars32.bat"rmdir /s/q ..srcuildlibmkdir ..srcuildlibcd ..srcuildlibqmake ..JWLib_qtJWLib_qt.pro -spec win32-msvc2013 "CONFIG-=debug" "CONFIG+=release force_debug_info" "DEFINES+=JW_AWS"D:Qtqtcreator-4.2.1injom qmake_allnmake -f Makefile.Releasermdir /s/q ..uildjoymkdir ..uildjoycd ..uildjoyqmake ..joywok_qtjoywok_qt.pro -spec win32-msvc2013 "CONFIG-=debug" "CONFIG+=release force_debug_info" "DEFINES+=JW_AWS"D:Qtqtcreator-4.2.1injom qmake_allnmake -f Makefile.Release

rem 拷贝文件并打包

cd ....setupdel ..inappYWdatabase.dbrmdir /s/q ..inappcachermdir /s/q ..inapplogrmdir /s/q ..inappskinrmdir /s/q ..inappqmlmkdir ..inappskinmkdir ..inappqmlxcopy ..inQDebugskin* ..inappskin /excopy ..inQDebugqml* ..inappqml /ecopy ..libReleaseJWLib_qt.dll ..inappcopy ..inReleaseJoywok.exe ..inapprmdir /s/q ..inappcrashesset year=%date:~0,4%set month=%date:~5,2%set day=%date:~8,2%set hour=%time:~0,2%set minute=%time:~3,2%set second=%time:~6,2%set ymd=%year%%month%%day%_%hour%%minute%%second%cd ..crashlogmd "%ymd%"copy /y ..libReleasejwlib_qt.pdb "%ymd%"copy /y ..inReleasejoywok.pdb "%ymd%"copy /y ..libReleaseJWLib_qt.dll "%ymd%"copy /y ..inReleaseJoywok.exe "%ymd%"cd ..setuprem 签名signtool sign /f codesign.cer ..inappJWLib_qt.dllsigntool sign /f codesign.cer ..inappJoywok.exerem 打包del app.7zdel setup.exe..software7-Zip7z.exe a -t7z app.7z ..inapp*..softwareNSISmakensis.exe setup.nsisigntool sign /f codesign.cer setup.exerem 修改软件名称cd ..for /f "delims=" %%i in ("git rev-list HEAD --count") do (set "buildversion=%%i")echo %buildversion%cd setupset year=%date:~0,4%set month=%date:~5,2%set day=%date:~8,2%set ymd=%year%%month%%day%-b%buildversion%ren setup.exe joywok-aws-setup-%ymd%.exepause

总结

以上所述是小编给大家介绍的Windows程序打包脚本[bat]的详细流程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网页设计网站的支持!