Google chrome extension Chrome本机消息主机访问权限

Google chrome extension Chrome本机消息主机访问权限,google-chrome-extension,npapi,chrome-native-messaging,Google Chrome Extension,Npapi,Chrome Native Messaging,我正在将基于NPAPI的插件移植到Chrome的本机消息主机 我可以成功连接到它并运行主机应用程序 但主机应用程序(win32 GUI应用程序)使用许多win32 API(如CreateFile)从服务器更新自身和其他实用程序 主机应用程序通过安装程序进程(setup.exe)安装在Program Files文件夹中。因此,由于主机应用程序以当前用户权限运行(这一点我可能错了),因此主机可能在program files文件夹中没有某些权限(如我的CreateFile) 通过NPAPI,它曾经是在

我正在将基于NPAPI的插件移植到Chrome的本机消息主机

我可以成功连接到它并运行主机应用程序

但主机应用程序(win32 GUI应用程序)使用许多win32 API(如CreateFile)从服务器更新自身和其他实用程序

主机应用程序通过安装程序进程(setup.exe)安装在Program Files文件夹中。因此,由于主机应用程序以当前用户权限运行(这一点我可能错了),因此主机可能在program files文件夹中没有某些权限(如我的CreateFile)

通过NPAPI,它曾经是在系统权限下运行的可执行文件(这一点我可能也错了)

所以基本上我有什么办法可以做到这一点。我知道这可能是Chrome试图通过本机主机解决的安全问题,但我需要这样做,否则一些可执行文件将无法从服务器更新

此外,本机主机应用程序还需要从服务器下载更多文件(我无法将其放入安装程序中)

此外,更新可执行文件和下载额外实用程序的源代码是跨平台的,因此我不想更改它,否则我可能需要重写大量代码

那么有什么建议可以避免这种情况吗

是否有某种方法可以通过UAC或其他方式获得本机主机应用程序的提升权限。我不介意是否提示用户使用UAC对话框

或者除了本机消息传递,还有其他选择吗?我想NaCl也不够

注意:GetLastError()reutrns错误\u访问\u在创建文件期间被拒绝。 当做
LazyCoder7.

为什么不像Chrome有时做的那样,在
%LOCALAPPDATA%
中安装程序呢?您不需要特殊权限就可以在那里写入。重新启动时是否会删除/清理应用程序数据文件夹?我的应用程序在卸载之前是否会保留在该位置?否,在重新启动时不会删除或清理本地应用程序数据感谢您的建议并在这里帮助我。我现在就试试看。@LazyCoder7-这个建议解决了你的问题吗?