Some terribleness to make updating work on windows

Squirrel doesn't handle the executable changing name, as hopefully
explained in comments
This commit is contained in:
David Baker
2020-07-14 19:05:28 +01:00
parent 3e80cdedd8
commit 3a253fe742
5 changed files with 96 additions and 7 deletions

View File

@@ -0,0 +1,15 @@
const fsProm = require('fs').promises;
const path = require('path');
exports.default = async function(context) {
const { electronPlatformName, appOutDir } = context;
// Squirrel windows will try to relaunch the app using an executable of the same name as
// before in the new version, so will fail if the executable is now called something else.
// We add a fake Riot.exe that it can run which runs the real one.
// This also gets signed automatically, presumably because electron-build just looks for all
// exe files and signs them all...
if (electronPlatformName === 'win32') {
await fsProm.copyFile('build/rebrand_stub/rebrand_stub.exe', path.join(appOutDir, "Riot.exe"));
}
};