首页/文章/electron

electron修改默认安装目录nsis配置

2023-04-10
281110 分钟
...
  • oneClick: 是否创建一键式安装程序。如果为 true,则默认为所有用户安装;如果为 false,则需要根据 perMachine 参数来决定是否安装至所有用户。

  • perMachine: 仅当 oneClick 为 false 时有效。是否显示安装模式页面(选择每台机器还是每个用户),默认为 false(即显示)。

  • allowElevation: 仅在 assisted installer 下有效。允许请求提权,默认为 true。如果为 false,则用户将需要以管理员权限重新启动安装程序。

  • allowToChangeInstallationDirectory: 仅在 assisted installer 下有效。是否允许用户更改安装目录,默认为 false。

  • removeDefaultUninstallWelcomePage: 仅在 assisted installer 下有效。是否删除默认的卸载欢迎页面,默认为 false。

  • installerIcon: 安装程序图标路径,默认为 build/installerIcon.ico 或应用程序图标。

  • uninstallerIcon: 卸载程序图标路径,默认为 build/uninstallerIcon.ico 或应用程序图标。

  • installerHeader: assisted installer 下的 MUI_HEADERIMAGE,相对于 build 资源或项目目录,默认为 build/installerHeader.bmp 或 undefined。

  • installerHeaderIcon: one-click installer 下进度条上方的头部图标路径,相对于 build 资源或项目目录,默认为 build/installerHeaderIcon.ico 或应用程序图标。

  • installerSidebar: assisted installer 下的 MUI_WELCOMEFINISHPAGE_BITMAP 路径,相对于 build 资源或项目目录,默认为 build/installerSidebar.bmp 或 ${NSISDIR}\Contrib\Graphics\Wizard\nsis3-metro.bmp,图像大小为 164 × 314 像素。

  • uninstallerSidebar: assisted installer 下的 MUI_UNWELCOMEFINISHPAGE_BITMAP 路径,相对于 build 资源或项目目录,默认取决于 installerSidebar 选项,或为 build/uninstallerSidebar.bmp 或 build/installerSidebar.bmp 或 ${NSISDIR}\Contrib\Graphics\Wizard\nsis3-metro.bmp。

  • uninstallDisplayName: 在控制面板中显示的卸载程序名称,格式为 "${productName} ${version}"。

  • include: 定制安装程序的 NSIS include 脚本路径,默认为 build/installer.nsh。可查看 Custom NSIS script。

  • script: 定制安装程序的 NSIS 脚本路径,默认为 build/installer.nsi。可查看 Custom NSIS script。

  • license: EULA 许可证文件路径,默认为 license.txt 或 eula.txt(或大写变体)。支持 txt、rtf 和 html 格式(不要忘记为链接使用 target="_blank")。支持多种不同语言的许可证文件,只需在后面添加语言编码后缀(例如 _de、_ru)即可,如创建 build resources 中的 license_de.txt 和 license_en.txt 文件。如果 OS 语言是德语,则会显示 license_de.txt 文件。可查看 language code to name 表格。

  • artifactName: 工件文件名称模板,默认为 "${productName} Setup version.

    version.{ext}"。

  • deleteAppDataOnUninstall: 仅在 one-click installer 下有效。是否在卸载时删除应用程序数据,默认为 false。

  • displayLanguageSelector: 是否显示语言选择对话框,默认为 false(建议不要修改,系统会自动检测)。

  • installerLanguages: 安装程序语言(例如 en_US、de_DE)。只有当你理解你所做的和为何这样做时才更改此选项。

  • language: LCID Dec,默認為 1033(英语 - 美国)。

  • multiLanguageInstaller: 是否创建多语言安装程序,默认为 unicode 选项值。

  • packElevateHelper: 是否打包 elevate 可执行文件(如果使用 per-machine 安装程序或将来可能使用),仅在 assisted installer 下有效。如果为 true,则会忽略 perMachine 参数。

  • preCompressedFileExtensions: 不压缩的文件扩展名(例如 ".avi"、".mov" 等),仅适用于 extraResources 和 extraFiles 文件。

  • unicode: 是否创建 Unicode 安装程序。

  • guid: 参见 GUID vs Application Name。

  • warningsAsErrors: 如果为 true,则 NSIS 将把警告视为错误。如果为 false,则 NSIS 将允许警告。

  • customNsisBinary: 允许您提供自己的 makensis,例如支持通过 LogSet 和 LogText 进行调试记录的 makensis。(日志记录还需要选项 debugLogging = true)

  • runAfterFinish: 是否在安装完成后运行安装程序。

  • createDesktopShortcut: 是否在桌面上创建快捷方式。如果为 "always",则即使用户已删除快捷方式,也将在重新安装时重新创建它。

  • createStartMenuShortcut: 是否在开始菜单中创建快捷方式。

  • menuCategory: 是否为开始菜单快捷方式和程序文件目录创建子菜单。如果为 true,则使用公司名称。或者字符串值。

  • shortcutName: 所有快捷方式将使用的名称。默认为应用程序名称。

如果您觉得这篇文章有帮助,请点个赞吧~

分享文章

相关文章

更多文章 →
electron2025-03-05
不依赖第三方库自己实现 Electron 的主与渲染进程的国际化功能
正文 直接贴出代码: 主进程实现 首先需要在 文件中获取当前系统的语言,然后初始化国际化相关: 文件: 文件 然后在主进程中就可以通过 来实现国际化了。 渲染进程的实现 App 在启动的时候渲染进程已经执行了国际化的初始化,所以在主进程已经保存了一份当前语言的 信息,所以渲染进程就不需要进程这一步,直接从主进程获取即可。 主进程进程添加一个 事件,供渲染进程获取国际化相关数据: 首先我们要在 preload 中提前将国际化相关的信息写入...
学习
electron2025-03-05
应用多开,限制只启动一个应用,防止多个实例
通过app.requestSingleInstanceLock来控制应用的多开,返回值为boolean。 此方法的返回值表示你的应用程序实例是否成功取得了锁。如果它取得锁失败,你可以假设另一个应用实例已经取得了锁并且仍旧在运行,并立即退出。 即:如果当前进程是应用程序的主要实例,则此方法返回true,同时你的应用会继续运行。如果当它返回false,如果你的程序没有取得锁,它应该立刻退出,并且将参数发送给那个已经取到锁的进程。 在macO...
学习
electron2024-09-23
Electron实现文件缓存背景
背景 基于Electron研发的一款IM企业通信桌面端应用,会存在非常多文件、图片、视频类型回话消息。在Electron应用(桌面客户端软件)中,快速加载并显示图片是提升用户体验的关键。然而,传统的图片加载方式往往存在加载速度慢、资源占用高等问题,影响了用户的使用体验。 解决的问题 1. 支持自定义配置存储的磁盘位置 2. 支持长期存储 3. 支持自定义存储大小 4. 支持自定义存储类型(如图片、视频、文件,或者更细致化到MIME) 5...
学习
electron2024-09-23
我的 Electron 客户端也可以全量和增量更新了
前言 本文主要介绍 客户端应用的自动更新,包括全量和增量这两种方式。 全量更新: 运行新的安装包,安装目录所有资源覆盖式更新。 增量更新: 只更新修改的部分,通常是渲染进程和主进程文件。 本文并没有拿真实项目来举例子,而是起一个 新的项目 从 0 到 1 来实现自动更新。 如果已有的项目需要支持该功能,借鉴本文的主要步骤即可。 前置说明: 1. 由于业务场景的限制,本文介绍的更新仅支持 操作系统,其余操作系统未作兼容处理。 2. 更新流...
学习
electron2024-09-20
我的 Electron 客户端被第三方页面入侵了
问题描述 公司有个内部项目是用 来开发的,有个功能需要像浏览器一样加载第三方站点。 本来一切安好,但是某天打开某个站点的链接,导致 整个客户端直接变成了该站点的页面 。 这一看就是该站点做了特殊的处理,经排查网页源码后,果然发现了有这么一句代码。 翻译一下就是:如果当前窗口不是顶级窗口的话,将当前窗口设置为顶级窗口。 奇怪的是两者不是 跨域 了吗,为什么 还可以影响顶级窗口。 先说一下我当时的一些解决办法: 1. 用 替换 2. 给 添...
学习
electron2024-09-13
Electron+WebRTC实现局域网内的远程控制软件
我的工位上有一台笔记本(windows),一个显示器,一台服务器(linux)。显示器同时连接笔记本和服务器,当需要用到服务器的时候:1.使用todesk等软件进行连接;2.直接把显示器切换到服务器桌面,然后给服务器插上鼠标键盘。在这种场景下,屏幕画面的传输对我来说并不是必要的,这种场景下能不能用一套键鼠控制两个电脑呢?边做边学便有了这个小工具。记录下来,其中遇到的问题和解决方案。 通过electron + Vue + primevue...
学习

评论

请登录后发表评论

去登录
加载评论中...