aza547 / wow-recorder

A desktop screen recorder application that records and saves videos of in-game World of Warcraft encounters, and provides a graphical user interface to view the replays. It is free, open source and contains no adverts.
http://www.warcraftrecorder.com
Other
151 stars 31 forks source link

The specified module could not be found #328

Closed aza547 closed 1 year ago

aza547 commented 1 year ago

I did a fresh install on a new pc today and I cant get the program to start up. After install, I run the program and get this error. No application opens or icon in system tray. I have to go to task manager to end the process. I have tried uninstalling and reinstalling 3.5.1, 3.5, and 3.4.0. Same error every time.

https://media.discordapp.net/attachments/1004860869760516218/1076568576141566082/image.png

https://stackoverflow.com/questions/66609529/electron-builder-installer-a-javascript-error-occurred-in-the-main-process-err

https://github.com/aza547/wow-recorder/actions/runs/4213378035

aza547 commented 1 year ago

Only seen by one person so probably won't investigate further.

Robvdhout commented 1 year ago

I get the exact same issue

MK-NG commented 1 year ago

First time installer. Same issue.

aza547 commented 1 year ago

Hm not sure this was ever solved. Think it was just one user who hit it, but if it's been hit a few times probably needs some investigation...

aza547 commented 1 year ago

Current theory is some dll is missing on windows: https://github.com/stream-labs/obs-studio-node/blob/staging/obs-studio-client/dependencies/obs_studio_client.node.txt

aza547 commented 1 year ago

This thread suggests using dependency walker to find missing dlls. Dependency walker is ancient now, but there is a modern version here: https://github.com/lucasg/Dependencies.

Could someone try downloading this and dragging the obs_studio_client.node file into place?

I'm hoping something goes glaringly red and idenfities the missing dependency on your windows installation.

Mine for example: image

The file to drop into dependencies is here: image

@MK-NG @Robvdhout

aza547 commented 1 year ago

Looks like VCRUNTIME140.dll is a C++ distributable library, way out my comfort zone here but I'd not be shocked if it's that. Some hits on google such as https://softwarekeep.com/help-center/how-to-fix-the-vcruntime140dll-is-missing-error-on-windows-10 that look like it's not an unheard of problem.

aza547 commented 1 year ago

If we can confirm this is true, might be missing this: https://github.com/stream-labs/desktop/pull/1913/files

Robvdhout commented 1 year ago

image

MK-NG commented 1 year ago

depend

Mines slightly different(worse 😢)

aza547 commented 1 year ago

Thanks both. That's interesting... the node.exe file is certainly meant to be installed automatically.

I suspect you can get it working by... @Robvdhout - install NodeJS manually @MK-NG - install NodeJS manually and the missing C++ libs (from here)

Can you try that and let me know how you get on? I'll try to understand how this has happened meanwhile...

Robvdhout commented 1 year ago

That seems to have allowed me to run it. I've setup the folders and the alert icon is gone, but the test button does nothing (after selecting test type)

aza547 commented 1 year ago

Got wow open? Think the test button does nothing if not

Robvdhout commented 1 year ago

That solved that indeed, but now I see that the test ran in the log file

  filename: 'Sepulcher of the First Ones, Lihuvim [M] (Kill)',
  relativeStart: 34.976
}
[2023-04-24 16:48:21.904] [info]  [VideoProcessQueue] Now processing video C:\Warcraft Recorder\.temp\2023-04-24 16-47-08.mp4
[2023-04-24 16:48:21.905] [info]  [VideoProcessQueue] Raid encounter was too short, discarding
[2023-04-24 16:48:21.905] [info]  [VideoProcessQueue] Finished processing video C:\Warcraft Recorder\.temp\2023-04-24 16-47-08.mp4
[2023-04-24 16:48:21.907] [info]  [VideoProcessQueue] Video processing queue empty
[2023-04-24 16:48:21.908] [info]  [SizeMonitor] Running, size limit is 200 GB
[2023-04-24 16:48:21.909] [info]  [SizeMonitor] Deleting 0 old video(s)

And I see the mp4 in that location, but it's not showing up anywhere in the warcraft recorder GUI

aza547 commented 1 year ago

Raid encounter was too short, discarding

Try a different test category, or reduce the "Minimum Encounter Duration (sec)" setting. I forget what the test duration is hardcoded to, clearly the test button needs some improvements...

Robvdhout commented 1 year ago

default in my settings is 15 seconds, but the Mythic+ test worked, tyvm Alex

aza547 commented 1 year ago

Also I wonder if the electron installer hasn't installed node.exe because it's elsewhere on your PC, but that's not being picked up at runtime? It seems unlikely you both genuinely don't have node.exe (at least I can see @MK-NG is using discord, which uses node.exe too).

Could you search your PC for node.exe and see what hits you get? Recommend everything for that. Mine for example...

image

Robvdhout commented 1 year ago

image

MK-NG commented 1 year ago

That's great. It's fixed it. I didn't need to install the missing C++ libraries I just checked the box on the node installation that said install other required programs. I may well not have had node installed - I just play WoW on this PC and use my Mac day to day (and Discord) Really appreciate your swift response!

aza547 commented 1 year ago

Had a fiddle around with this. Purged node and the c++ libraries from my PC and reproduced the problem. I then reinstalled the C++ libraries only, and the app works fine. Despite that, dependencies still claims it's missing.

image

I also installed streamlabs and found it prompted me to install the C++ libraries as part of my installation. Found some code in the streamlabs desktop repository that looks responsible for that.

aza547 commented 1 year ago

So guessing somehow node.exe isn't required, but the C++ libs are. Not sure how that explains the behaviour above, particularly in Rob's case where installing NodeJS fixed it. Perhaps node.exe isn't required, but something in the C++ libs is required that isn't identified by dependencies.

Maybe because node.exe is a "delay load" dependency which is never called into...?

aza547 commented 1 year ago

Perhaps if you have time folks, you could remove NodeJS from your PCs, and install the C++ libs only from here and confirm it still works? @Robvdhout @MK-NG

aza547 commented 1 year ago

Potential fix in linked PR.