summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTobias Järvelöv <tobias.jarvelov@mullvad.net>2025-03-31 16:24:17 +0200
committerSebastian Holmin <sebastian.holmin@mullvad.net>2025-05-28 13:25:24 +0200
commita05d4d6b0a60b4a11d8770b7183a7d36112421bf (patch)
tree79409243450846bdc5f1f26643d61eed736cb707
parente66e10fa15ee36b91d315e1c961b376cb863e438 (diff)
downloadmullvadvpn-a05d4d6b0a60b4a11d8770b7183a7d36112421bf.tar.xz
mullvadvpn-a05d4d6b0a60b4a11d8770b7183a7d36112421bf.zip
Update AppUpgrade start installer logic to use Electron function
-rw-r--r--desktop/packages/mullvad-vpn/src/main/app-upgrade.ts12
1 files changed, 6 insertions, 6 deletions
diff --git a/desktop/packages/mullvad-vpn/src/main/app-upgrade.ts b/desktop/packages/mullvad-vpn/src/main/app-upgrade.ts
index a68c80f142..f79452e734 100644
--- a/desktop/packages/mullvad-vpn/src/main/app-upgrade.ts
+++ b/desktop/packages/mullvad-vpn/src/main/app-upgrade.ts
@@ -1,14 +1,11 @@
-import { execFile } from 'child_process';
+import { shell } from 'electron';
import fs from 'fs/promises';
-import { promisify } from 'util';
import { DaemonAppUpgradeEvent } from '../shared/daemon-rpc-types';
import log from '../shared/logging';
import { DaemonRpc, SubscriptionListener } from './daemon-rpc';
import { IpcMainEventChannel } from './ipc-event-channel';
-const execFilePromise = promisify(execFile);
-
export default class AppUpgrade {
public constructor(private daemonRpc: DaemonRpc) {}
@@ -27,8 +24,11 @@ export default class AppUpgrade {
IpcMainEventChannel.app.notifyUpgradeEvent?.({
type: 'APP_UPGRADE_STATUS_STARTED_INSTALLER',
});
- } catch {
+ } catch (e) {
IpcMainEventChannel.app.notifyUpgradeError?.('START_INSTALLER_FAILED');
+
+ const error = e as Error;
+ log.error(`Could not start installer: ${error.message}`);
}
});
}
@@ -59,7 +59,7 @@ export default class AppUpgrade {
private async executeInstaller(verifiedInstallerPath: string) {
try {
- await execFilePromise(verifiedInstallerPath);
+ await shell.openPath(verifiedInstallerPath);
} catch {
throw new Error(`Could not start installer at path: ${verifiedInstallerPath}`);
}