如何获取 Node.js pkg 可执行文件的 .exe 目录?

How to get the directory of the .exe for a Node.js pkg executable?

我正在使用 Vercel pkg compiling/building 一个 Node.js 项目到 .exe 中,但我试图在程序 运行 期间找到该可执行文件的位置]时间。澄清一下,我希望 Node.js 程序知道它所在的 .exe 文件 运行 来自哪里,以确认它已正确安装。

上下文: 我无法保证用户第一次 运行 时将 .exe 存储在何处,但我希望它能够将自身复制到 AppData 文件夹,这样我就可以从中设置 Windows 服务,如果不是的话已经从那里 运行。这是希望制作一个自安装程序,不需要我围绕它构建安装程序。

首先是 运行,我需要 .exe 的位置以便能够复制到我想要的位置。我可能只是没有拿起它,但我无法在 pkg 文档或此处的另一个问题上找到答案。

我试过的:我试过process.cwdprocess.pkg__filename__dirname等, 但它们都会导致错误的结果,通常是文件的 snapshot 文件夹。

说到主脚本,找起来很简单:

process.argv

来自Node.js documentation

来自 Vercel 的 Pkg 不是安装程序,它只是一个将节点二进制文件和您的代码打包到单个 exe 中的打包程序。

您可以按照本教程进行操作 how to make an installer 它甚至可以让您设置要安装 exe 的路径