Windows程序打包脚本[bat]的详细流程

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

1. 编译软件

2. 拷贝需要的内容

3. 代码签名

4. 打包成安装文件

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

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

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

call "D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"

然后开编译。

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

signtool sign /f codesign.cer ..\bin\app\Joywok.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 setup
set 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 off
call "D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
rmdir /s/q ..\src\buildlib
mkdir ..\src\buildlib
cd ..\src\buildlib
qmake ..\JWLib_qt\JWLib_qt.pro -spec win32-msvc2013 "CONFIG-=debug" "CONFIG+=release force_debug_info" "DEFINES+=JW_AWS"
D:\Qt\qtcreator-4.2.1\bin\jom qmake_all
nmake -f Makefile.Release
rmdir /s/q ..\buildjoy
mkdir ..\buildjoy
cd ..\buildjoy
qmake ..\joywok_qt\joywok_qt.pro -spec win32-msvc2013 "CONFIG-=debug" "CONFIG+=release force_debug_info" "DEFINES+=JW_AWS"
D:\Qt\qtcreator-4.2.1\bin\jom qmake_all
nmake -f Makefile.Release

rem 拷贝文件并打包

cd ..\..\setup
del ..\bin\app\YWdatabase.db
rmdir /s/q ..\bin\app\cache
rmdir /s/q ..\bin\app\log
rmdir /s/q ..\bin\app\skin
rmdir /s/q ..\bin\app\qml
mkdir ..\bin\app\skin
mkdir ..\bin\app\qml
xcopy ..\bin\QDebug\skin\* ..\bin\app\skin /e
xcopy ..\bin\QDebug\qml\* ..\bin\app\qml /e
copy ..\lib\Release\JWLib_qt.dll ..\bin\app
copy ..\bin\Release\Joywok.exe ..\bin\app
rmdir /s/q ..\bin\app\crashes
set 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 ..\crashlog
md "%ymd%"
copy /y ..\lib\Release\jwlib_qt.pdb "%ymd%"
copy /y ..\bin\Release\joywok.pdb "%ymd%"
copy /y ..\lib\Release\JWLib_qt.dll "%ymd%"
copy /y ..\bin\Release\Joywok.exe "%ymd%"
cd ..\setup
rem 签名
signtool sign /f codesign.cer ..\bin\app\JWLib_qt.dll
signtool sign /f codesign.cer ..\bin\app\Joywok.exe
rem 打包
del app.7z
del setup.exe
..\software\7-Zip\7z.exe a -t7z app.7z ..\bin\app\*
..\software\NSIS\makensis.exe setup.nsi
signtool sign /f codesign.cer setup.exe
rem 修改软件名称
cd ..
for /f "delims=" %%i in ('git rev-list HEAD --count') do (
set "buildversion=%%i"
)
echo %buildversion%
cd setup
set 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
pause

总结

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

(0)

相关推荐

  • Windows命令行bat批处理延迟sleep方法(批处理延时)

    Windows下批处理文件没有像Linux一样的Sleep函数进行延时处理,这里有2种较为实用的方法实现延迟: 1.使用WScirpt的sleep功能,精度0.001秒 创建vbs延迟文件,然后在批处理文件中调用,使用WScript的 sleep函数,实现sleep的效果. 实战: 1)创建文件sleep.vbs: echo WScript.sleep 5000 > sleep.vbs sleep.vbs 内容如下: WScript.sleep 5000. 2)在批处理文件中调用,创建示例文件t

  • Windows下使用批处理文件.bat删除旧文件

    本文教大家写一个批处理文件.bat删除旧文件,供大家参考,具体内容如下 1. 批处理文件 del_old_file.bat rem 删除D:\temp目录下7天前的文件 Forfiles /p D:\temp /s /d -7 /m *.* /c "cmd /c del /q /f @path" rem 删除C:\inetpub\logs目录下14天前的文件 Forfiles /p C:\inetpub\logs /s /d -14 /m *.* /c "cmd /c del

  • 修改Windows Server 2008 R2 的3389远程端口的Bat批处理代码

    功能就是通过批处理实现修win2008 r2服务器远程端口为6637并加入到防火墙中 @ ECHO OFF color 0A ECHO ---------------------------------------------------------------------------- ECHO. ECHO 版权所有 copyright of 冰川网络 ECHO. ECHO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)

    exec 或者 system 都可以调用cmd 的命令 直接上代码: 复制代码 代码如下: <?php /** 打开windows的计算器 */ exec('start C:WindowsSystem32calc.exe'); /** php生成windows的批处理文件后,再执行这个批处理文件*/ $filename = 't.bat'; $somecontent = 'C: '; $somecontent .= 'cd "C:/Program Files/MySQL-Front&quo

  • Windows运行bat批处理文件时隐藏cmd命令提示符窗口的方法

    我们在Windows中运行bat批处理文件时往往会弹出一个cmd命令提示符窗口,然后等一会儿cmd窗口就自动关闭了,有人会说,直接在bat批处理文件中加入echo off命令么好了,没错,echo off确实可以关闭cmd窗口,但是cmd窗口最初还是会弹出一下再消失,下面就教大家运行bat批处理文件时如何彻底隐藏cmd命令提示符窗口的方法. 方法就是通过vbs脚本来彻底隐藏执行bat批处理文件,将以下代码保存为.vbs文件,然后直接执行这个.vbs文件即可彻底隐藏cmd窗口了: Set ws =

  • windows 通过端口杀死进程过程解析(bat)

    简单的bat处理,把指定端口集合杀死相应的进程,就是杀死对应的pid @echo off & setlocal EnableDelayedExpansion set obj[0]=6340 set obj[1]=6330 set obj[2]=1010 set obj[3]=6301 set obj[4]=6001 set port=0 set pid=0 for /f "usebackq delims== tokens=1-2" %%a in (`set obj`) do (

  • windows下定时利用bat脚本实现ftp上传下载

    前言: 工作中可能会遇到以下情况,利用windows作为中转,来实现两台linux服务器的文件传输. 实现步骤: 1.FTP上传和下载的bat脚本. 脚本分为两部分:可执行bat脚本和ftp命令文件: 可执行bat脚本: @echo off ftp -s:D:\ftp\ftp.txt ftp命令ftp.txt: open 192.168.1.166 ftp-user passwd prompt off lcd D:\ftp cd /home/myftp mget * close open 10.

  • windows7系统去除快捷方式小箭头BAT脚本分享

    相信很多人都知道怎么清除windows xp的快捷方式,但windows 7的不一定知道,下面给大家带来个不错的清除windows 7快捷方式的bat脚本. 脚本内容如下: 复制代码 代码如下: @echo off mode con cols=35 lines=8 & color 0A title 去除系统快捷方式箭头 echo 程序将为你去除系统快捷方式的小箭头 pause echo Windows Registry Editor Version 5.00>>1.reg echo [

  • Windows下bat批处理脚本使用telnet批量检测远程端口小记

    多年没写过批处理了,来新公司的第一个case却是需要写一个bat脚本,批量更新采集agent的配置文件,其中就涉及到远程IP的端口检测. 本以为会和Linux一样可以简单判断: 复制代码 代码如下: echo q|telnet -e 'q' $ip $port && echo "$ip:port 通"||echo "$ip:port 不通" 结果发现Windows下面telnet退出并没有执行结果的返回值: 一.借助工具 于是我优先开启懒人法则,找其

  • Windows程序打包脚本[bat]的详细流程

    打包脚本的流程和自动打包基本相同: 1. 编译软件 2. 拷贝需要的内容 3. 代码签名 4. 打包成安装文件 5. 再次签名,并将安装文件名称改成需要的格式 ------------------------------------------------------------------ 编译软件需要初始化vs的运行环境,如 call "D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"

  • 微信小程序实现文章关注功能详细流程

    目录 1 数据源设计 1.1 文章数据源 1.2 关注数据源 2 录入测试数据 3 创建应用 4 首页功能实现 5 详情页功能实现 6 获取用户的openid 7 设置关注的低码方法 8 发布预览 9 总结 1 数据源设计 低代码工具分为模型驱动和表单驱动两种类型,微搭低代码属于模型驱动的低码工具.所谓模型驱动就是要先设计数据源,设计数据源之间的关系.我们分析一下关系是什么,应该有一个文章的数据源,还有一个关注的数据源.文章和关注之间的关系是一对多的关系,所谓的一对多是指一篇文章可以被多个人进行

  • POC漏洞批量验证程序Python脚本编写

    目录 编写目的 需求分析 实现过程 Main函数 获取目标 批量请求验证 加载POC 多线程类 urlParse getProxy randomHeaders 输出结果 其他 全局变量 命令行读取参数 poc详情显示 Ctrl+C结束线程 poc.json文件 运行结果 FoFa获取目标 poc验证 总结 完整代码 编写目的 批量验证poc,Python代码练习. 需求分析 1.poc尽可能简单. 2.多线程. 3.联动fofa获取目标. 4.随机请求头. 实现过程 脚本分为三个模块,获取poc

  • Windows环境IDEA下Ranger1.2.0源码编译详细流程

    目录 一.本地环境准备 二.源码编译 三.使用idea打开项目 1. 安装数据库Mysql版 2. 配置Tomcat,发布 security-admin-web项目. 3. 修改security-admin中以下文件 4. 编译启动Tomcat即可. 四.遇到问题 Apache Ranger是什么,它是一个为Hadoop平台提供了全面的数据安全访问控制及监控的集中式管理框架,Apache顶级项目.不废话了,其实本篇没那么高大上,就是一步步教你Windows环境IDEA下Ranger1.2.0源码

  • windows清理系统垃圾bat脚本及使用步骤

    目录 bat (批处理文件类型) 一.针对电脑小白的系统垃圾清理 二.使用步骤 总结 bat (批处理文件类型) 批处理文件,在DOS和Windows(任意)系统中,.bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用.这个文件的每一行都是一条DOS命令(大部分时候就好像我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件. 批处理(Batch),也称为批处理脚本.顾名思义,

  • uniapp微信小程序打卡功能的详细实现流程

    目录 一.vue后台地图选地点 step1| 注册账号并申请Key step2| 设置 JSAPI 安全密钥的脚本标签 step3| 地图选点页面demo 二.uniapp微信小程序打卡 step1| 获取key step2| manifest.json中配置权限 step3| 获取定位地址与经纬度 三.核心流程描述 总结 一.vue后台地图选地点 step1| 注册账号并申请Key 请参考链接注册账号并申请Key 部分 step2| 设置 JSAPI 安全密钥的脚本标签 注意事项: 必须在vu

  • 小程序接入腾讯位置服务的详细流程

    最近在写微信小程序,遇到了一些坑,在网上也查了好多,感觉都没有我想要的答案,在这里总结下,希望可以帮助大家 第一步:进入腾讯位置服务 第二步:点击接入指引 根据上图进行登录,然后验证手机和邮箱,再前往申请秘钥(key) 以上步骤完成后: 进入key的申请页面: 重点提示:小程序不需要在WebServiceAPI填写域名,否则会报错 完成后便可以在小程序里面使用,以下则是在小程序的写入流程, 首先下载腾讯位置服务SDK 下载完后放到你方便调用的文件里面,我的是放在util.js里面. 然后引入到j

  • Python程序打包成可执行文件exe详解流程

    今天给大家分享个可视化 Python 打包神器,欢迎点赞支持,文末提供技术交流群. 1. 什么是 auto-py-to-exe auto-py-to-exe 是一个用于将Python程序打包成可执行文件的图形化工具.本文就是主要介绍如何使用 auto-py-to-exe 完成 python 程序打包.auto-py-to-exe 基于 pyinstaller ,相比于 pyinstaller ,它多了 GUI 界面,用起来更为简单方便 2.安装 auto-py-to-exe 首先我们要确保我们的

  • Vue前端打包的详细流程

    目录 1.添加打包命令 2.运行打包代码 3.打包指定不同的环境变量 4.打包自定义文件 4.1 移除三方包 4.2 gzip压缩 5.打包发生错误: 1.添加打包命令 package.json中添加配置 npm run build 发布到线上的代码 不便于调试 命令: ①npm run build:dev 开发调式环境 ②npm run build:prod 线上调试环境 "build:dev": "vue-cli-service build --mode dev"

  • 京东 Vue3 组件库支持小程序开发的详细流程

    源码抢先看: https://github.com/jdf2e/nutui NutUI 3.0 官网:https://nutui.jd.com/3x/ 小程序多端适配 设计初衷 在跨端小程序的开发过程中,我们发现没有合适的组件库可以使用,尤其在做电商商城类场景的业务时,没有符合京东 App 规范的组件库为我们的小程序项目提供支持.为了填补这一空白,同时让 NutUI 组件库能够为更多的开发者带来便利,我们决定在 NutUI 3.0 中 增加小程序多端适配的能力. 如何适配 Taro 在小程序跨端

随机推荐