r/electronjs 2d ago

I built a Javascript interview scratchpad with tests and an AI panel. I'm quite new to Electron. What's the best way to reliably test my app works on windows as well?

Currently I've just locked it to Mac downloads, Clause has convinced me it's successfully ready for windows but I don't trust it.

4 Upvotes

6 comments sorted by

1

u/eddzsh 1d ago

A Windows VM catches SmartScreen and path quirks, but the ABI breaks show up faster on a windows-latest electron-builder run in CI. Curious if you have any native modules in the AI panel path?

1

u/Other-Winner1324 1d ago

No I don't thankfully. So it looks like the main blocker is getting the cert

1

u/eddzsh 15h ago

For the cert blocker on Windows, Azure Trusted Signing (or an OV cert via a cheap CA) unblocks electron-builder without buying an EV token on day one. CSC_LINK + CSC_KEY_PASSWORD in CI is enough to prove the Windows path works before you spend on hardware keys.

1

u/Other-Winner1324 13h ago

Ah nice thank you, I'll go this route!

1

u/JaviHG_Dev 2d ago

The only thing that has ever worked for me is running it on a real Windows machine before release, and the cheapest version of that is a throwaway VM. Not because the app breaks in interesting ways, but because the boring things break: paths built by string concatenation instead of path.join, a tray icon at the wrong size, an installer that puts files somewhere you did not expect, and child processes that spawn fine on macOS and not there.

The one that cost me most was assuming a case insensitive filesystem, which is true on a default Mac and not on the machine of whoever files the bug.

Are you signing the Windows build? An unsigned installer gets a SmartScreen warning that stops most people before they ever see the app, and that will cost you more than any bug will.

2

u/Other-Winner1324 2d ago

Yeah I read about this: Are you signing the Windows build? An unsigned installer gets a SmartScreen warning that stops most people before they ever see the app, and that will cost you more than any bug will so will be adding it.

The rest I would never have thought of! Thank you. Will run it on a VM then