Merge pull request #11316 from electron/hide-update-exe

fix: Ensure that update.exe doesn't open up a console window
This commit is contained in:
Cheng Zhao 2017-12-06 14:50:12 +09:00 committed by GitHub
commit 46f79146ad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -8,19 +8,15 @@ const appFolder = path.dirname(process.execPath)
// i.e. my-app/Update.exe
const updateExe = path.resolve(appFolder, '..', 'Update.exe')
const exeName = path.basename(process.execPath)
var spawnedArgs = []
var spawnedProcess
let spawnedArgs = []
let spawnedProcess
var isSameArgs = function (args) {
return (args.length === spawnedArgs.length) && args.every(function (e, i) {
return e === spawnedArgs[i]
})
}
const isSameArgs = (args) => args.length === spawnedArgs.length && args.every((e, i) => e === spawnedArgs[i])
// Spawn a command and invoke the callback when it completes with an error
// and the output from standard out.
var spawnUpdate = function (args, detached, callback) {
var error, errorEmitted, stderr, stdout
let spawnUpdate = function (args, detached, callback) {
let error, errorEmitted, stderr, stdout
try {
// Ensure we don't spawn multiple squirrel processes
@ -33,7 +29,8 @@ var spawnUpdate = function (args, detached, callback) {
return callback(`AutoUpdater process with arguments ${args} is already running`)
} else if (!spawnedProcess) {
spawnedProcess = spawn(updateExe, args, {
detached: detached
detached: detached,
windowsHide: true
})
spawnedArgs = args || []
}
@ -48,17 +45,16 @@ var spawnUpdate = function (args, detached, callback) {
}
stdout = ''
stderr = ''
spawnedProcess.stdout.on('data', function (data) {
stdout += data
})
spawnedProcess.stderr.on('data', function (data) {
stderr += data
})
spawnedProcess.stdout.on('data', (data) => { stdout += data })
spawnedProcess.stderr.on('data', (data) => { stderr += data })
errorEmitted = false
spawnedProcess.on('error', function (error) {
spawnedProcess.on('error', (error) => {
errorEmitted = true
callback(error)
})
return spawnedProcess.on('exit', function (code, signal) {
spawnedProcess = undefined
spawnedArgs = []