Electron-builder dist 文件夹中的安装程序和 win-unpacked 文件夹有什么区别?

hen*_*enk 5 electron electron-builder

我是电子新手,试图了解分布概念的基础知识。

我已经为 Windows 构建了一个基本的电子应用程序electron-builder

生成的dist文件夹包含一个安装程序,My App Setup 0.1.0.exe以及一个win-unpacked带有My App.exe

安装程序首先打开一个安装窗口,在某个地方安装一些东西,然后运行我的应用程序。

My App.exe直接运行我的应用程序。

  1. 安装程序的确切目的是什么?
  2. 它真的安装了什么东西以及安装在哪里吗?
  3. win-unpacked 文件夹的用途是什么?
  4. 哪一个是用于分发的?
  5. .blockmap为了什么?

在此输入图像描述

Ale*_*ner 7

尽管您同时提出多个问题,但所有这些问题都可以很容易地用一个严格的答案来回答。总而言之(TL;DR),在创建安装程序时,您首先必须编译应用程序以及安装程序可执行文件中包含的所有资源,这就是该文件win-unpacked夹的用途。


但是,为了回答您的问题 1 到 4,我将更详细地介绍一下:

  1. 该安装程序用于分发。它将在本地 Windows 驱动器上安装您的应用程序,并通过开始菜单(也可能通过桌面快捷方式)访问该应用程序。它将所有需要的文件打包win-unpacked到一个文件中,这使您在发布应用程序时更加轻松。
  2. 是的。往上看。具体细节会根据您的设置和构建配置而有所不同,但实际上确实如此。
  3. 这是 Electron Builder 临时存储安装程序可执行文件所需的所有文件的位置。我相信这与构建目标时得到的结果完全相同standalone。不删除此文件夹的原因是(我认为,但无法验证)允许增量构建,即,当您每次构建应用程序时,当实际没有任何更改(除了代码之外)时,Electron Builder 不必复制您的资源。
  4. 您可以压缩该win-unpacked文件夹,但您会丢失安装注册(安装后,您的应用程序将可以从 Windows 设置中卸载)、开始菜单和桌面上的快捷方式等。我更喜欢安装程序。
  5. 它是一个确保安装程序内的文件没有损坏或不完整的工具,请参阅 GitHub 上的此问题

至于选择哪种分发方式,实际上取决于您。但是,如果您认为不能相信用户在应用程序不在开始菜单/桌面上时能够正确找到并启动该应用程序,那么安装程序绝对是最佳选择。并且,不要相信您的用户,并始终假设他们中没有人打开过您的应用程序。这样就可以很容易地保持应用程序的超级用户友好性。