NSIS 打包文件添加防火墙白名单
生活随笔
收集整理的這篇文章主要介紹了
NSIS 打包文件添加防火墙白名单
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概述
如果應用程序使用網絡,擔心被防火墻攔截的話,通常有兩種解決方案,第一種是直接關閉電腦防火墻,但是會比較麻煩,每臺電腦安裝軟件后都需要設置防火墻狀態, 并且關閉防火墻電腦會不安全;第二種方式就是添加程序到防火墻白名單中,也是就是說讓系統不對該程序進行攔截,通常的做法都是第二種方案。
防火墻白名單
我們先來看看防火墻白名單長啥樣子。
打開windows防火墻頁面,如下:
左上角“允許應用或功能通過防火墻”,點擊進入
可以看到這里有很多已經添加進白名單的程序。
那么我們如何讓自己的應用程序在安裝的時候自動添加防火墻白名單呢,其實很簡單,簡單幾句話就搞定了。
添加防火墻白名單進出規則
NSIS打包文件代碼中,找到創建桌面快捷鍵處,直接在后面添加:
; 防火墻規則添加ExecDos::exec 'netsh advfirewall firewall add rule name="xxxxx" dir=in program="$INSTDIR\${PRODUCT_NAME}.exe" action=allow'ExecDos::exec 'netsh advfirewall firewall add rule name="xxxxx" dir=out program="$INSTDIR\${PRODUCT_NAME}.exe" action=allow'具體添加位置可參考:
注意,這里的xxxx要替換成應用程序的別名,最好和應用名區分開來,這是顯示在白名單中的名字,而PRODUCT_NAME就是程序名的字符串。
表示是安裝目錄下將應用程序exe的的相對路徑。
這里兩句話分別更改了防火墻入站和出站規則。對應到windows界面是在:
刪除防火墻規則
軟件卸載后,需要刪除防火墻規則。如下:
;防火墻規則刪除ExecDos::exec 'netsh advfirewall firewall delete rule name="xxxxx"'注意,這里的xxxxx要和上面的名稱保持一致,否則無法刪除。
添加位置可以在程序目錄被刪除后執行。
總結
以上是生活随笔為你收集整理的NSIS 打包文件添加防火墙白名单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt Remote Object(QtR
- 下一篇: Qt线程之QRunnable的使用详解