Windows 支持通过 Capacitor 创建的 Electron 应用程序

Posted

技术标签:

【中文标题】Windows 支持通过 Capacitor 创建的 Electron 应用程序【英文标题】:Windows support for Electron application created via Capacitor 【发布时间】:2018-12-19 04:32:03 【问题描述】:

我刚刚开始将Capacitor 视为将我的混合应用程序打包在电子外壳中的一种可能的解决方案。这是我第一次使用 Electron,所以对它的细节知之甚少。

我完成了以下步骤..

1. Create new Ionic app
2. install capacitor as per doco
3. run   npx add electron
4. cd electron
5. npm i electron-packager -g
6. electron-packager . --platform=win32

我最终得到了一个子文件夹 electron\capacitor-app-win32-x64,其中包含一个可执行文件,它在我的开发机器 (Windows 10 x64) 和另一台 Windows (Windows Server 2008 R2 Standard x64) 上运行良好。

我的最终目标设备是专门的小型加固平板电脑,运行 Windows 7 嵌入式 32 位。

它不能在此运行,我得到The version of this file is not compatible with the version of Windows you're running。我什至不确定构建应用程序是托管的还是非托管的(假设是非托管的?)

所以,我想知道 Windows 机器有什么不兼容的地方。最初的问题是

    我如何知道 Electron 应用程序是什么“位”(即 32 位、64 位,或者 .net 是否类似于“任何 cpu”)。看不到在哪里可以找到这些信息(dotpeek不会打开exe,在Visual Studio中打开exe,看不到太多信息)

    难道它不是为正确的 CPU 构建的吗?

    是否还有其他一些可能是嵌入式 Windows 7 没有的依赖项

任何帮助是如何解决这个问题会很棒!

[更新1]

根据here 给出的一些建议,它似乎是一个 64 位应用程序,这很奇怪,因为命令 electron-packager . --platform=win32 似乎表明我们想要一个 32 位。所以这可能是我的问题。

有谁知道如何将其构建为 32 位?

【问题讨论】:

【参考方案1】:

发现问题。只需添加--arch=ia32 即可获得 32 位。

所以我的完整构建命令是

electron-packager . --platform=win32 --arch=ia32

它现在是 32 位的,可以在 32 位机器上运行。

【讨论】:

以上是关于Windows 支持通过 Capacitor 创建的 Electron 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Capacitor工程的创建

Capacitor iOS App 无法缩放到全高

Ionic & Capacitor - Android 闪屏响应

从 Android 意图打开 Ionic (Capacitor) 应用程序中的特定页面

将 Capacitor 集成到 Ionic 项目后无法在 Xcode 中运行

使用 Capacitor 为 iOS 构建时 Phaser 3 应用程序没有声音