entrylabs / entry-offline

entry-offline
29 stars 83 forks source link

WIN32 build 후 생성된 결과물 앱의 실행 불가 #198

Closed JeongJun-Lee closed 4 months ago

JeongJun-Lee commented 7 months ago

[빌드환경]

[증상]

[ParseCommandLine][info][2024-03-20 02:28:09]: commandLine configurations applied
version: 2.1.12
[ConfigInitialize][info][2024-03-20 02:28:09]: load c:\dev\entry-offline\dist\Entry-win32-ia32\win-ia32-unpacked\resources\app.asar\config\config.ko.json...
[ConfigInitialize][info][2024-03-20 02:28:09]: config file configurations applied
updateCheckUrl: https://playentry.org/api/checkVersion
moduleResourceUrl: http://localhost:23518/modules
remoteModuleResourceUrl: https://playentry.org/modules
(node:21164) UnhandledPromiseRejectionWarning: Could not find ffmpeg executable, tried "c:\dev\entry-offline\dist\Entry-win32-ia32\win-ia32-unpacked\resources\app.asar\node_modules\@ffmpeg-installer\win32-ia32\ffmpeg.exe", "c:\dev\entry-offline\dist\Entry-win32-ia32\win-ia32-unpacked\resources\app.asar\node_modules\@ffmpeg-installer\ffmpeg\node_modules\@ffmpeg-installer\win32-ia32\ffmpeg.exe" and "c:\dev\entry-offline\dist\Entry-win32-ia32\win-ia32-unpacked\resources\app.asar\node_modules\@ffmpeg-installer\win32-ia32\ffmpeg.exe"
(Use `Entry --trace-warnings ...` to show where the warning was created)
(node:21164) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
[main/mainWindowManager][verbose][2024-03-20 02:28:10]: mainWindow created
[main/aboutWindowManager.ts][verbose][2024-03-20 02:28:10]: about window created
WebContents #1 called ipcRenderer.sendSync() with 'REMOTE_BROWSER_GET_BUILTIN' channel without listeners.
WebContents #2 called ipcRenderer.sendSync() with 'REMOTE_BROWSER_GET_BUILTIN' channel without listeners.
JeongJun-Lee commented 7 months ago

안녕하세요? 조금 더 원인에 대해 힌트가 될만한 내용을 찾은 것 같습니다.

require('@electron/remote/main').initialize(); 코드를 ipcMainHelper.ts에서 main.ts쪽으로 옮기면, image

WebContents #1 called ipcRenderer.sendSync() with 'REMOTE_BROWSER_GET_BUILTIN' channel without listeners. 에러와 함께 초기화면이 뜨지 않는 위에 언급된 오류는 안나면서 초기화면 진입까지는 가능하나,

Error occurred in handler for 'isValidAsarFile': No handler registered for 'isValidAsarFile' 이런 ipc관련 handler가 없다는 오류가 발생하는 다른 문제를 야기시키고 있습니다. 결국 initialize() 시점이나 위치문제로 보이는데 좋은 아이디가 있으신지요? 감사합니다.

Tnks2U commented 7 months ago

제보 감사합니다. 확인해 보겠습니다.

Tnks2U commented 6 months ago

이 이슈는 최근 소리편집 기능을 위해 추가한 라이브러리인 ffmpeg의 win32버전 빌드가 포함되지 않아 발생한 문제로 확인되었습니다. 현재 32비트 윈도우에 대한 지원 중단을 고려중이어서 정책이 확정되면 대응할 예정입니다.

JeongJun-Lee commented 6 months ago

이유를 정확히 몰라 원인을 찾는다고 무척(?) 고생했는데 감사합니다. 주신 힌트를 바탕으로 ffmpeg / ffprobe 32비트 버전을 의도적으로 탑재하여 ia32 빌드를 해보니 정상동작하더군요. 저희는 당분간 이런식으로 대응하면 될 것 같습니다.

github-actions[bot] commented 4 months ago

This issue is stale because it has been open 60 days with no activity.