如何检测到 Electron 应用程序第一次运行?
Posted
技术标签:
【中文标题】如何检测到 Electron 应用程序第一次运行?【英文标题】:How to detect that the Electron app is running for the first time? 【发布时间】:2017-09-28 10:24:32 【问题描述】:我正在使用最新版本的 Electron-builder(使用 AutoUpadate)开发应用程序。
有什么方法可以知道App安装后第一次运行吗?
Ps:我尝试过使用electron-config,但是卸载后用户数据文件没有被删除,每次安装都需要做一些事情(即使是在同一台机器上)。
【问题讨论】:
【参考方案1】:检查 squirrel-firstrun 标志:
var cmd = process.argv[1];
if (cmd == '--squirrel-firstrun')
// Running for the first time.
(您无需安装任何东西即可使用)
Ref.
【讨论】:
是的,我在电子应用程序中使用它 这似乎是 Windows 独有的东西。这种方法在 macOS 和 Linux 下有效吗? @astoilkov 我从未在 macOS 或 Linux 上尝试过,但很可能这仅适用于 Windows。【参考方案2】:如果它不存在,您的应用可以写入一个文件夹/文件(文件名基于时间戳?)。
当应用程序启动时,始终查找文件。 如果没有文件,意味着它是第一次,做你想做的,写文件。
如果有文件意味着它不是第一次。
不知道 Electron API 有没有什么问题!
【讨论】:
但是如果我卸载应用程序,那些文件不会被删除,所以,如果用户重新安装应用程序,我会得到一个错误的检查。 (因为文件会存在) 我不知道,但是您可以安装一个应用程序,检查其文件夹结构,然后卸载并重新检查文件夹结构。看看哪个文件夹不见了!然后在这样的文件夹中写入您的文件!应用更改并检查..希望它有所帮助!以上是关于如何检测到 Electron 应用程序第一次运行?的主要内容,如果未能解决你的问题,请参考以下文章
使用 electron-builder NSIS 安装程序安装后运行时如何传递命令行参数
electron在win上可运行后,如何打包到linux上运行?