此篇文檔主要講述了如何使用inno setup制作安裝包,如果要打包的內(nèi)容已經(jīng)準(zhǔn)備好,可以跳過“QT操作”部分。
1、在QT中將編譯模式設(shè)置成Release,點擊編譯后在文件夾中找到生成exe文件,并將其復(fù)制出來單獨放到一個文件夾中。
2、考慮到用戶可能將軟件安裝到Program Files (x86)等系統(tǒng)文件夾中,此時如果程序沒有管理員權(quán)限會出現(xiàn)一些問題,因此可以給編譯出的exe添加管理員權(quán)限。在工程文件夾中,pro文件的同目錄下創(chuàng)建一個.manifest文件,這里我用getAdmin.manifest舉例。向getAdmin.manifest中寫入下列代碼。
然后找到與工程編譯出的exe文件同名的.rc文件,向其中添加下列代碼。
1 24 DISCARDABLE "getAdmin.manifest"
如果沒有找到.rc文件,可以自己創(chuàng)建一個,這里我使用getAdmin.rc舉例。向創(chuàng)建的getAdmin.rc文件中寫入上述代碼,然后在QT中打開pro文件添加下列語句。
RC_FILE += getAdmin.rc
以管理員身份運行重新運行QT點擊編譯,如果此時編譯出的exe文件圖標(biāo)的右下角有小盾牌標(biāo)志,則代表管理員權(quán)限添加成功。
3、通過搜索找到QT 5.14.2(MinGW),版本根據(jù)QT工程的編譯器選擇,如果是32-bit的編譯器,那么MinGW就使用32位版本。如果QT工程使用的是MSVC編譯器,這里也選擇同版本的MSVC編譯器。
4、打開后,輸入"cd exe文件的路徑"來使該工具找到exe文件存儲位置。然后輸入"windeployqt 文件名稱.exe",該工具會自動添加此exe文件需要的.dall文件。但是該工具添加的.dall文件不一定齊全,所以.dall文件自動添加完畢后,手動點擊exe文件,如果報錯,則根據(jù)提示信息,在QT安裝文件夾找到對應(yīng)的dall文件并手動添加。直到點擊exe后能正常打開使用。
1、打開Inno Setup后,選擇使用向?qū)?,根?jù)提示創(chuàng)建一個腳本模板。
2、點下一步,填寫程序信息。
3、點擊瀏覽,選擇之前準(zhǔn)備好的exe文件。點擊添加文件,把exe文件同一目錄下的其它文件全部添加。點擊添加文件夾,把exe文件目錄下的其它文件夾全部添加。完成后點擊下一步。
4、根據(jù)需求選擇創(chuàng)建快捷方式,完成點下一步。
5、許可文件不是必要的,點擊瀏覽可添加安裝前和安裝后顯示信息文件,安裝前顯示信息文件通常為用戶協(xié)議。支持txt和rtf文件格式,添加完成后點擊下一步。
6、語言選擇中文。
7、選擇編譯出的安裝包的保存位置、名稱和圖標(biāo),安裝密碼可以不用設(shè)置。
8、勾選"是,使用#define編譯指令",點擊下一步完成模板創(chuàng)建。此時會彈出一個提示框詢問“是否立即開始編譯”,點擊否。
9、對模板生成的添加文件夾的代碼進行修改。向?qū)傻哪0宕a,會把文件夾中的文件復(fù)制到exe同一目錄下,并刪除原本的文件夾,這會導(dǎo)致安裝后的exe文件報錯。將代碼修改成如下格式,點擊編譯即可得到一個最簡單的安裝包。
10、在wpInfoBefore頁面,即“顯示安裝前文件”的那個頁面,添加一個復(fù)選框。復(fù)選框顯容為“我已閱讀,并同意該協(xié)議”,并將該頁面的 “下一步”按鈕默認(rèn)設(shè)置為不可用。只有用戶勾選復(fù)選框,表示同意協(xié)議,才能點擊下一步繼續(xù)安裝,代碼如下。
11、為了避免安裝時因權(quán)限不足發(fā)出發(fā)生錯誤,可以給安裝包添加管理員權(quán)限。在腳本的[Setup]節(jié)點添加 PrivilegesRequired=admin。 進入Inno Setup安裝根目錄,找到文件SetupLdr.e32,這是一個二進制配置文件,需要用到ResHacker.exe這個工具修改。找到<requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges>,修改為<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/></requestedPrivileges>,如下圖所示。重新編譯后若安裝包右下角出現(xiàn)小盾牌,則管理員權(quán)限添加成功。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多以太網(wǎng)模組產(chǎn)品和無線通信技術(shù)資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(微信號:cdebyte)進行了解,也可以直接撥打400電話咨詢技術(shù)專員!
相關(guān)閱讀:
1、TCP粘包怎么產(chǎn)生的以及TCP粘包問題解決方案
2、什么是TCP協(xié)議粘包以及如何解決TCP粘包問題
3、以太網(wǎng)開發(fā)中的網(wǎng)絡(luò)抓包分析工具應(yīng)用詳解
4、Wireshark網(wǎng)絡(luò)封包分析軟件抓包教程
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 無錫辦事處劉經(jīng)理:13558641933
成都總部銷售經(jīng)理:
秦 科(無線模塊):18884314654 馮子恒(無線模塊):18828049434
蔡友銀(無線模塊):13882211021 葛宇龍(通信設(shè)備):19138800613
胡兵(外貿(mào)銷售經(jīng)理):18584911141、 sales06@ebyte.com
業(yè)務(wù)郵箱:support@cdebyte.com 全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號