当前位置: 首页 > 知识库问答 >
问题:

使用电子构建器创建MSI安装程序

逄俊力
2023-03-14

我设法创建了一个. exe安装程序的窗口使用电子建设者,我创建2package.json指出的文档:

https://github.com/electron-userland/electron-builder.

"dist:win64": "./node_modules/.bin/build --platform win32 --arch x64"

mymainpackage.json的build部分是

"build": {
    "app-bundle-id": "org.test.mytest",
    "app-category-type": "public.app-category.graphics-design",
    "osx": {
      "contents": [
        {
          "x": 410,
          "y": 150,
          "type": "link",
          "path": "/Applications"
        },
        {
          "x": 130,
          "y": 150,
          "type": "file"
        }
      ]
    },
    "win": {
      "title": "My awesome app",
      "version": "2.28.999.1",
      "noMsi": false,
      "authors": "Author"
    }
  }

一切工作正常,我有和.exe安装程序,但没有办法有一个.msi安装程序,把内容在程序文件目录。

相反,我最终在C:\用户\用户之家\AppData\本地\电子文件夹中安装了一个安装程序,如下所示。

有没有办法让一个真正的.msi安装程序使用electron builder将内容放在程序文件文件夹中。唯一有效的项目就是这个https://github.com/theodo/electron-boilerplate 但它使用的是以前版本的electron builder。

在电子文档中,将noMsi设置为false,应该可以做到这一点...

Should Squirrel.Windows create an MSI installer?

共有3个答案

戚育
2023-03-14

如果您只需要一个exe格式的安装程序(我不知道msi),您可以使用electron builder将exe解包到一个目录中。查看以下网址的文档:http://npmjs.org/package/electron-builder. 文档非常直截了当。使用exe获得解包文件夹后,使用“Inno Setup Compiler”创建外观专业的安装程序。一旦你掌握了窍门,整个过程只需要5分钟。

鄢松
2023-03-14

如最新电子构建器版本的wiki所述,您必须在build.win中使用msi选项:

"build": {
    "app-bundle-id": "org.test.mytest",
    "app-category-type": "public.app-category.graphics-design",
    ...
    ,
    "win": {
      "title": "My awesome app",
      "version": "2.28.999.1",
      "msi": true,
      "authors": "Author"
    }
  }
萧和同
2023-03-14

您实际上不需要安装MSI就可以将应用程序安装到程序文件中。

如果在nsis配置中禁用一键(oneClick),系统将提示用户是执行单用户安装(在AppData)还是每台机器安装(在程序文件中)。

如果不想让他们选择,可以将perMachine设置为false,这将只允许安装到程序文件中:

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

我个人会留下他们的选择,因为他们仍然可以安装没有管理员权限!

在最新版本的电子构建器中,还提供了一个允许用户选择任何安装位置的允许ToChangeInstallationDirectory选项。

 类似资料:
  • Java运行时环境(OpenJDK 1.7 JRE) 脚本(.bat) 一个胖罐子 图标文件 一些文本文件 我不想使用系统的JRE,这就是我提供另一个JRE的原因。该脚本只使用几个参数调用JRE。图标文件为.ico格式。fat JAR是包含所有必需的Java类、本机库和资产(包括第三方库)的JAR。 我想允许最终用户安装、运行和卸载我的程序。我想在“开始”菜单中提供一个快捷方式来运行它,另一个快捷

  • 问题内容: 我正在将中型Java应用程序的构建从Ant迁移到Maven。我可以轻松迁移基本的构建内容,但是我也想从Maven构建中创建安装程序包。最简单的方法是通过Ant插件调用原始的Ant脚本,但我想也许我应该先看看Maven的支持。 我需要为不同的平台创建几个不同的安装程序: Windows 32/64位 Linux 32/64位 MacOS 32/64位 现在对于Linux,我认为我们只有一

  • 本文向大家介绍使用GruntJS构建Web程序之安装篇,包括了使用GruntJS构建Web程序之安装篇的使用技巧和注意事项,需要的朋友参考一下 它有以下作用     合并JS文件     压缩JS文件     单元测试(基于QUnit)     一句话:完全自动化(automation)  以下是它的安装过程。 一、安装node 参考nodejs入门 (最新的node会自动安装npm) 二、安装g

  • 想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。 我正在开发一个javafx应用程序。此应用程序与设备通信,因此设备JAR不是模块化的,它们附带一些添加到开发中的dll文件。现在,它在Netbeans 12.6上运行得很好,但在我使用jdk-17 jpackage创建安装程序时就不是了。我相信我遗漏了一些东西,但由于我对这个jpackage还很陌生,所以我不知道如何解决它。以下是

  • 问题内容: 我想使用Django模板发送HTML电子邮件: 我找不到任何有关的信息,而django-mailer仅发送HTML模板,而没有动态数据。 如何使用Django的模板引擎生成电子邮件? 问题答案: 从docs,要发送HTML电子邮件,你想使用其他内容类型,如下所示: 你可能需要两个用于电子邮件的模板-一个看起来像这样的纯文本模板,存储在你的模板目录下: 还有一个HTMLy,存放在以下位置

  • 问题内容: 我使用ektorp连接到CouchDB。 构建ektorp 实例的方法是使用构建器模式: 我对Spring比较陌生。请为我提供有关如何在上下文中配置以便通过进行创建的建议。 一种方法是使用。还有其他选择吗? 问题答案: 您可以尝试实现接口: 并添加到配置以下bean定义: 然后,您可以将此bean注入另一个bean,它将作为实例进行解析。