pyinstaller打包單文件時--uac-admin選項不起作用怎麼辦

使用pyinstaller能很方便的將python腳本打包成單個exe文件。

但是最近有一個需求,打包出來的exe文件需要用管理員權限執行!
也就是雙擊exe文件運行時,需要彈出一個uac界面讓用戶授權。

於是我查找pyinstaller的官方文檔,說是在打時包加上--uac-admin參數就行了!

然而我實際操作了一下,發現直接加上這個參數僅在打包成多文件時有效 ,打包成單文件時是沒用的。

但是我就想打包成單個exe文件,又要uac用戶授權界面,怎麼辦?


好,解決方案:

  • 如圖,現在我們有一個test.py文件
    在這裏插入圖片描述

先對它進行一次打包,直接在目錄內打開cmd執行

pyinstaller -F --uac-admin test.py

來到dist目錄可以看到打包好的exe文件
在這裏插入圖片描述
我們打包時是有加--uac-admin這個參數的,但是在打包出來的exe文件上卻沒有看到uac的小盾牌圖標!

所以現在來到build目錄,找到manifest文件,把它複製到py文件的同級目錄下
在這裏插入圖片描述
就像這樣
在這裏插入圖片描述
然後再次打開cmd,運行如下的打包命令:

pyinstaller -F --uac-admin -r test.exe.manifest,1 test.py

可以發現比起之前的命令,我們加上了這個參數 -r test.exe.manifest,1

現在再次來到dist目錄,就可以看到打包出來的exe是帶uac小盾牌圖標的了!

在這裏插入圖片描述
直接雙擊運行

在這裏插入圖片描述

就可以了!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章