首页 > 解决方案 > 在 Windows 启动时通过电子应用程序打开文件时出错

问题描述

我开发了一个电子应用程序,该应用程序设置为使用auto-launch模块在 Windows 启动时启动。当应用程序启动时,它会读取一个db.json充当本地数据库的文件。如果手动启动应用程序,该应用程序可以顺利运行。但是当应用程序在 Windows 启动时自动启动时,它会在应用程序日志中显示以下错误。

构造函数:'Error',errno:-4048,系统调用:'open',代码:'EPERM',路径:'db.json',堆栈:“错误:EPERM:不允许操作,打开 'db.json'\n "

以下是我用于访问db.json文件的代码。

if (process.env.NODE_ENV === 'development') {
  adapter = new FileSync('db.json')
} else {
  adapter = new FileSync('db.json', {
    serialize: (data) => this._encrypt(data),
    deserialize: (data) => this._decrypt(data)
  });
}

如何解决此错误?

编辑:

我正在使用电子生成器进行包装。以下是我的package.json.

"nsis": {
  "oneClick": false,
  "allowToChangeInstallationDirectory": true,
  "perMachine": false
}

我仍然对应该启用哪些选项以避免此类权限错误感到困惑。

标签: node.jselectronelectron-builder

解决方案


推荐阅读