diff --git a/installed-software.js b/installed-software.js index e9458c49..e16443e0 100644 --- a/installed-software.js +++ b/installed-software.js @@ -34,11 +34,21 @@ ipcMain.on('installed-software-install', async function (event, software) { const softwarePath = path.join(app.getAppPath(), software.binary); if (software.type == 'web') { - var response = await fetch(software.resource); - await pipeline( - response.body, - fs.createWriteStream(softwarePath) - ); + try { + var response = await fetch(software.resource); + if (response.status != 200) { + throw new Error(`Cannot download file ${software.resource}, response status = ${response.status}`); + } + await pipeline( + response.body, + fs.createWriteStream(softwarePath) + ); + } catch(error) { + event.sender.send('installed-software-installed', { + success: false, + message: error.message + }); + } } const command = `${softwarePath}`; @@ -46,5 +56,8 @@ ipcMain.on('installed-software-install', async function (event, software) { child.on('exit', () => { console.log("exited"); }); - event.sender.send('installed-software-installed', { success: true}); + + event.sender.send('installed-software-installed', { + success: true + }); }); diff --git a/src/app/services/installed-software.service.ts b/src/app/services/installed-software.service.ts index 686993f0..c94d9ae8 100644 --- a/src/app/services/installed-software.service.ts +++ b/src/app/services/installed-software.service.ts @@ -23,6 +23,16 @@ export class InstalledSoftwareService { binary: 'SolarPuTTY.exe', installation_arguments: ['--only-ask'], installed: false + }, { + name: 'Wireshark', + commands: [ + 'Wireshark.exe' + ], + type: 'web', + resource: 'https://1.na.dl.wireshark.org/win64/all-versions/Wireshark-win64-2.6.3.exe', + binary: 'Wireshark.exe', + installation_arguments: [], + installed: false }]; constructor(