diff options
| author | Tobias Järvelöv <tobias.jarvelov@mullvad.net> | 2025-03-31 16:24:17 +0200 |
|---|---|---|
| committer | Sebastian Holmin <sebastian.holmin@mullvad.net> | 2025-05-28 13:25:24 +0200 |
| commit | a05d4d6b0a60b4a11d8770b7183a7d36112421bf (patch) | |
| tree | 79409243450846bdc5f1f26643d61eed736cb707 | |
| parent | e66e10fa15ee36b91d315e1c961b376cb863e438 (diff) | |
| download | mullvadvpn-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.ts | 12 |
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}`); } |
