我有多个python脚本,我已经使用py2exe转换为可执行文件。当我运行它们时,我得到一个UAC对话框,说
'您是否希望来自未知发布商的以下程序能够对您的计算机进行更改。'
我正在运行Windows 7,64bit,python 3.3。
为了确保它不是由于我的代码,我从网上复制了以下简单的脚本并创建了一个exe。仍然是同样的问题。
import ctypes
from ctypes import wintypes
def get_appdata_directory():
CSIDL_APPDATA = 0x001a
dll = ctypes.windll.shell32
app_data_directory = ctypes.create_unicode_buffer(wintypes.MAX_PATH)
found = dll.SHGetFolderPathW(0, CSIDL_APPDATA, 0, 0, app_data_directory)
return app_data_directory.value
appdata = get_appdata_directory()
该脚本仅查找appdata目录的路径。
为避免UAC对话框需要做些什么?
答案 0 :(得分:0)
您需要为您的应用程序创建一个“组装清单”。它必须声明 requestedExecutionLevel=asInvoker
,然后要么
RT_MANIFEST
)MyApp.exe.manifest