配置 electron-builder 运行 powershell 脚本

Posted

技术标签:

【中文标题】配置 electron-builder 运行 powershell 脚本【英文标题】:Configure electron-builder to run powershell script 【发布时间】:2019-03-14 09:47:08 【问题描述】:

我有一个由 electron-builder 创建的安装文件,并且遇到了安装后找不到如何运行 powershell 脚本的问题。

这个想法是在Windows注册表中进行一些更改并为应用程序文件夹设置权限。

据我了解,它应该在package.jsonbuild 部分进行配置。在api中我发现它存在afterPack方法,但我无法弄清楚如何通过它执行powershell文件。

谢谢。

【问题讨论】:

我已从您的问题中删除了 powershell 标签,即使您的问题 involves powershell 这不是问题 关于 powershell。 【参考方案1】:

首先,创建一个afterPack.js 文件,其中包含以下代码:

exports.default = async function () 
    const  exec  = require('child_process');
    const bat = exec('powershell "& ""path/to/powershell/file.ps1"""');

相应地编辑 .ps1 文件的路径。您可能需要在路径的开头添加一个“.\”。控制台读数会告诉您是否这样做。

接下来,编辑 package.json 文件,在构建设置中包含 afterPack 参数,如下所示:

现在,当您运行构建脚本时,它将运行您的 .ps1 文件。

【讨论】:

非常感谢,就是这样。 有没有什么办法可以通过powershell找出应用程序安装在哪里来对这个文件夹应用权限? 我确定有。我会查看 AfterPackContext 和/或 BuildResult ,尤其是 outDir 属性。你如何实际使用这些接口超出了我的范围。发布另一个问题,我相信有人会提供帮助。

以上是关于配置 electron-builder 运行 powershell 脚本的主要内容,如果未能解决你的问题,请参考以下文章

electron-builder中NSIS配置项

在运行的应用程序中查看 electron-builder 的构建目标

electron-builder 打包流程

使用 electron-builder NSIS 安装程序安装后运行时如何传递命令行参数

Electron-Builder 包含外部文件夹

03、electron-builder打包命令报错