Windows程序打包腳本[bat]的詳細(xì)流程
打包腳本的流程和自動(dòng)打包基本相同:
1. 編譯軟件
2. 拷貝需要的內(nèi)容
3. 代碼簽名
4. 打包成安裝文件
5. 再次簽名,并將安裝文件名稱改成需要的格式
------------------------------------------------------------------
編譯軟件需要初始化vs的運(yùn)行環(huán)境,如
call "D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
然后開(kāi)編譯。
編譯完成,拷貝文件,使用signtool對(duì)軟件進(jìn)行簽名,
signtool sign /f codesign.cer ..\bin\app\Joywok.exe
最后將其修改為需要的命名風(fēng)格,這里使用了 git rev-list HEAD --count 來(lái)獲取git的提交次數(shù)作為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
總結(jié)
以上所述是小編給大家介紹的Windows程序打包腳本[bat]的詳細(xì)流程,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Windows下使用批處理文件.bat刪除舊文件
- 修改Windows Server 2008 R2 的3389遠(yuǎn)程端口的Bat批處理代碼
- windows下定時(shí)利用bat腳本實(shí)現(xiàn)ftp上傳下載
- Windows命令行bat批處理延遲sleep方法(批處理延時(shí))
- Windows下bat批處理腳本使用telnet批量檢測(cè)遠(yuǎn)程端口小記
- windows7系統(tǒng)去除快捷方式小箭頭BAT腳本分享
- PHP啟動(dòng)windows應(yīng)用程序、執(zhí)行bat批處理、執(zhí)行cmd命令的方法(exec、system函數(shù)詳解)
- Windows運(yùn)行bat批處理文件時(shí)隱藏cmd命令提示符窗口的方法
- windows 通過(guò)端口殺死進(jìn)程過(guò)程解析(bat)
相關(guān)文章
windows下apache+php+mysql 環(huán)境配置方法
很多朋友想要在window下配置apache+php+mysql運(yùn)行環(huán)境,其實(shí)從這么長(zhǎng)時(shí)間的經(jīng)驗(yàn)來(lái)看,win2003下還是用iis,如果為了學(xué)習(xí)或?qū)pache特別熟悉的朋友可以用apache2012-04-04IIS服務(wù)網(wǎng)站的幾種配置方式小結(jié)
本文主要介紹了IIS服務(wù)網(wǎng)站的幾種配置方式小結(jié),主要介紹了三種訪問(wèn)方式,不同的IP地址訪問(wèn),不同的端口訪問(wèn)和綁定不同的域名訪問(wèn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10win2003 ip安全策略 限制某個(gè)IP或IP段訪問(wèn)服務(wù)器指定端口圖文說(shuō)明
今天有個(gè)同事問(wèn)服務(wù)器只讓內(nèi)部的ip訪問(wèn),限制外面的人訪問(wèn),如果是網(wǎng)站不多可以通過(guò)iis中的ip地址和域名限制,如果網(wǎng)站較多,可以通過(guò)ip安全策略來(lái)實(shí)現(xiàn)。2011-08-08IIS7傳大于30M的視頻時(shí)出現(xiàn)找不到文件或目錄錯(cuò)誤正確處理方法
IIS7傳大于30M的視頻時(shí)出現(xiàn)找不到文件或目錄錯(cuò)誤的情況想必有很多的朋友都有遇到過(guò)吧,下面與大家分享下具體的解決方法2013-06-06Windows 2008 R2服務(wù)管理器刷新失敗的解決方法
刷新服務(wù)器管理器時(shí)出現(xiàn)意外錯(cuò)誤: 異常來(lái)自 HRESULT:0x800F0818,有關(guān)詳細(xì)信息,請(qǐng)參閱事件日志: 診斷、事件查看器、應(yīng)用程序和服務(wù)日志、Microsoft、Windows、服務(wù)器管理器、操作2016-08-08win2008 R2 WEB環(huán)境配置之Mssql Server 2008 R2 安裝圖文教程及遠(yuǎn)程連接設(shè)置方法
這篇文章主要介紹了win2008 R2 WEB環(huán)境配置之Mssql Server 2008 R2 安裝圖文教程及遠(yuǎn)程連接設(shè)置方法,需要的朋友可以參考下2016-06-06Window?server?2012?R2?AD域的組策略設(shè)置步驟
AD域的組策略添加有助于管理AD域中的用戶使用的client端的環(huán)境,本文主要介紹了Window?server?2012?R2?AD域的組策略設(shè)置步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04win2003服務(wù)器定時(shí)自動(dòng)重啟命令[計(jì)劃任務(wù)]
win2003服務(wù)器定時(shí)自動(dòng)重啟命令,其實(shí)就是通過(guò)shutdown.exe結(jié)合計(jì)劃任務(wù)來(lái)實(shí)現(xiàn)的。2011-05-05IIS 7.5 HTTP 錯(cuò)誤 404.3 - Not Found錯(cuò)誤的解決方法
這篇文章主要介紹了IIS 7.5 HTTP 錯(cuò)誤 404.3 - Not Found錯(cuò)誤的解決方法,需要的朋友可以參考下2016-10-10Serv-U防溢出提權(quán)攻擊解決設(shè)置方法
本文將為大家介紹在如今Microsoft系列(Win2k Win2k3)SERVER中使用最為廣泛的FTP服務(wù)器之一、大名鼎鼎的Serv-U FTP服務(wù)器中如何簡(jiǎn)單地解決Overflow溢出、以及Hacker常用的Webhsell提升權(quán)限等類攻擊的隱患與缺陷;讀完本文,您將可以使您的 Serv-U服務(wù)器免去被溢出、被提升權(quán)限的安全威脅與危險(xiǎn)。2008-09-09