首页 > 解决方案 > 包括 PepperFlash 在内的电子在生产中无法正常工作

问题描述

我有一个需要加载基于 Flash 的网站的 Electron 应用程序,我在 windows 中包含了 PepperFlash DLL,当我解压运行时它可以工作,但是当我运行打包时插件不起作用。

我已确保该文件存在于它在构建时正在查看的路径中

let pluginPath = process.env.ELECTRON_START_URL ?
    path.join(__dirname, pluginName):
    __dirname.replace('app.asar', 'app.asar.unpacked') + pluginName;

如果我在构建时 console.log 插件路径,它会给我适当的区域。

C:\Users\Evan\AppData\Local\Temp\nsl129A.tmp\app\resources\app.asar.unpacked\buildpepflashplayer.dll

当我正确导航到该区域时存在。

我还在 WebPreferences 中包含了插件,这在解压缩时确实有效。

  mainWindow = new BrowserWindow({
      title: 'TST Application',
      icon: path.join(__dirname, 'assets/logo.png'),
      webPreferences: {
          plugins: true,
          webSecurity: false
      },
      show: false
  });

在电子生成器的 package.json 中,我有正确的 asarUnpack}

 "asarUnpack": [
     "build/pepflashplayer.dll"
 ],

但是当我尝试加载网址时

    mainWindow.loadURL('http://get.adobe.com/flashplayer/about/');

我得到无法加载插件。

但是我注意到的一件事是前往http://isflashinstalled.com/表明闪存已正确安装。同样,在我的渲染器进程中,如果我 console.log

        console.log(navigator.plugins);

我在插件列表中看到了 flash 插件。

有什么建议么?谢谢!

标签: electronelectron-builderelectron-packager

解决方案


原来问题是我用 32 位打包并使用 64 位 PepperFlash DLL,然后切换出去,一切都开始工作了。


推荐阅读