Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript electron-node.js-fs.readFileSync在构建electron时以及在程序文件中需要管理员权限_Javascript_Node.js_Electron - Fatal编程技术网

Javascript electron-node.js-fs.readFileSync在构建electron时以及在程序文件中需要管理员权限

Javascript electron-node.js-fs.readFileSync在构建electron时以及在程序文件中需要管理员权限,javascript,node.js,electron,Javascript,Node.js,Electron,我已经成功地构建了我的电子应用程序,它看起来运行得非常好 我使用节点模块fs访问应用程序中使用的文件,这是Electron的标准事务。这与开发环境中的预期完全一样,甚至当我在C:\Users\myApp\中使用asar构建应用程序时,我也可以从构建的electron应用程序访问文件 但是,当我创建安装程序并放置应用程序@C:\ProgramFiles(x86)\myApp\ fs.readFileSync 它以前在开发verson和构建版本中运行良好,当它出现在C:\Users\myApp\中

我已经成功地构建了我的电子应用程序,它看起来运行得非常好

我使用节点模块
fs
访问应用程序中使用的文件,这是Electron的标准事务。这与开发环境中的预期完全一样,甚至当我在
C:\Users\myApp\
中使用asar构建应用程序时,我也可以从构建的electron应用程序访问文件

但是,当我创建安装程序并放置应用程序@
C:\ProgramFiles(x86)\myApp\

fs.readFileSync
它以前在开发verson和构建版本中运行良好,当它出现在
C:\Users\myApp\
中时,现在需要以管理员身份运行才能读取文件,否则将抛出错误

有什么解释吗

电子版:1.8.4
平台:Windows 7

我相信您可能希望将一些应用程序数据部署到%APPDATA%中,即C:\Users\yourusername\APPDATA\Roaming,或者对于electron,可以使用app.getPath('APPDATA')将文件部署到userData文件夹中指的是C:\Users\yourusername\AppData\Local\your\u electron\u app\u name或app.getPath('userData')

在该目录中,您可以在没有提升权限的情况下更改文件

如果在程序文件中查看electron应用程序文件夹的属性,并转到“安全”选项卡,您将注意到用户的权限设置为(读取和执行、列出文件夹内容和读取);但是,管理员可以完全控制(修改、读取和执行、列出文件夹内容、读取和写入)

但是,如果您真的需要在程序文件或ProgramData中创建/编辑/删除文件,则需要提升权限,并且要绕过此限制,您可能需要安装npm软件包electron sudo()或sudo prompt()