Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
} else {
console.log("[OK] Application found at the correct location", applicationLauncherPath)
}
// This now involves writing to the registry, I am a bit scared of that...
var valuesToPut = {
'HKCU\\Software\\Mozilla\\NativeMessagingHosts\\patchfox': {
'patchfox': {
value: appManifestFile,
type: 'REG_DEFAULT'
}
}
}
regedit.createKey('HKCU\\Software\\Mozilla\\NativeMessagingHosts\\patchfox', function (a, b) {
regedit.putValue(valuesToPut, function (err) {
if (err) {
console.log("[ERROR] Problem writing to registry.", err)
process.exit(1)
} else {
console.log("[OK] Wrote manifest path to registry.\n[INFO] Try: npm run check-win")
process.exit(0)
}
})
})
} else {
console.log("[OK] Application found at the correct location", applicationLauncherPath)
}
// This now involves writing to the registry, I am a bit scared of that...
var valuesToPut = {
'HKCU\\Software\\Mozilla\\NativeMessagingHosts\\patchfox': {
'patchfox': {
value: appManifestFile,
type: 'REG_DEFAULT'
}
}
}
regedit.createKey('HKCU\\Software\\Mozilla\\NativeMessagingHosts\\patchfox', function (a, b) {
regedit.putValue(valuesToPut, function (err) {
if (err) {
console.log("[ERROR] Problem writing to registry.", err)
process.exit(1)
} else {
console.log("[OK] Wrote manifest path to registry.\n[INFO] Try: npm run check-win")
process.exit(0)
}
})
})
// This now involves writing to the registry, I am a bit scared of that...
if (process.platform !== 'win32') {
return cb(null)
}
let valuesToPut = {}
valuesToPut[APPPaths.regKey] = {
'scuttleshell': {
value: manifestLocation,
type: 'REG_DEFAULT'
}
}
var RE = require('regedit')
RE.createKey(APPPaths.regKey, function (err, data) {
// great.. node-regedit doesn't seem to adhere to cb(err, data)...?
// https://github.com/ironSource/node-regedit/issues/10
// https://github.com/ironSource/node-regedit/issues/44
// https://github.com/ironSource/node-regedit/issues/4
// ps: it also has problems when embedded in an electron asar since it generates scripts on the fly
console.log('[DEBUG] regedit.createKey result arguments:', arguments.length)
console.dir(arguments)
if (arguments.length === 2 && err !== null) return cb(err)
RE.putValue(valuesToPut, function (err) {
if (err) {
console.error(err)
return cb(new Error('[ERROR] Problem writing to registry. ' + err.message))
}
console.log('[OK] Wrote manifest path to registry.\n[INFO] Try: npm run check-win')
cb(null)
})
manifestTemplate.path = appPath
fs.writeFileSync(appManifestFile, JSON.stringify(manifestTemplate))
// This now involves writing to the registry, I am a bit scared of that...
var valuesToPut = {
'HKCU\\Software\\Mozilla\\NativeMessagingHosts\\scuttleshell': {
'scuttleshell': {
value: appManifestFile,
type: 'REG_DEFAULT'
}
}
}
regedit.createKey('HKCU\\Software\\Mozilla\\NativeMessagingHosts\\scuttleshell', function (a, b) {
regedit.putValue(valuesToPut, function (err) {
if (err) {
console.log("[ERROR] Problem writing to registry.", err)
cb(1)
} else {
console.log("[OK] Wrote manifest path to registry.\n[INFO] Try: npm run check-win")
cb(0)
}
})
})
}
RE.createKey(APPPaths.regKey, function (err, data) {
// great.. node-regedit doesn't seem to adhere to cb(err, data)...?
// https://github.com/ironSource/node-regedit/issues/10
// https://github.com/ironSource/node-regedit/issues/44
// https://github.com/ironSource/node-regedit/issues/4
// ps: it also has problems when embedded in an electron asar since it generates scripts on the fly
console.log('[DEBUG] regedit.createKey result arguments:', arguments.length)
console.dir(arguments)
if (arguments.length === 2 && err !== null) return cb(err)
RE.putValue(valuesToPut, function (err) {
if (err) {
console.error(err)
return cb(new Error('[ERROR] Problem writing to registry. ' + err.message))
}
console.log('[OK] Wrote manifest path to registry.\n[INFO] Try: npm run check-win')
cb(null)
})
})
}
async _hasWindowsMedia() {
if (!is.windows) {
return true
}
const version = this.os.release
if (toInteger(version) < 10) {
// no windows 10
return true
}
if (!is.development) {
// regedit commands
regedit.setExternalVBSLocation(
getAppResourcesPath('vbs'),
)
}
const value = await new Promise((resolve) => {
const regKey = 'HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\WindowsFeatures'
regedit.list(regKey, (err, result) => {
if (!isNil(err)) {
resolve(false)
return
}
resolve(result[regKey].keys.includes('WindowsMediaVersion'))
})
})
exports.remove_commands = function(db_path, cb) {
logger.info("REMOVE COMMAND");
regedit.deleteKey(db_path, function(err) {
var e = err && err.code != 'ENOENT' ? err : null;
return cb && cb(e);
// if (err) {
// logger.infologger.info("ERROR deleteKey:", err);
// }
// return cb();
})
//cb();
}
if (process.platform !== "win32") {
console.log("This script works only on windows")
process.exit(1)
}
var regedit = require('regedit')
var key = 'HKCU\\Software\\Mozilla\\NativeMessagingHosts\\patchfox'
var fs = require("fs")
regedit.list(key, (err, results) => {
if (err) {
console.log(`[ERROR] Registry key: ${key} doesn't exist\n\nTry: npm run setup-win\n`)
process.exit(1)
}
let manifestPath = results[key].values[""].value
if (!fs.existsSync(manifestPath)) {
console.log("[ERROR] App manifest not found at declared location", manifestPath)
console.log("\nTry: npm run setup-win\n")
process.exit(1)
}
console.log("[INFO] App manifest path location:", manifestPath)
let manifest = JSON.parse(fs.readFileSync(manifestPath))
regedit.createKey('HKCU\\Software\\Mozilla\\NativeMessagingHosts\\patchfox', function (a, b) {
regedit.putValue(valuesToPut, function (err) {
if (err) {
console.log("[ERROR] Problem writing to registry.", err)
process.exit(1)
} else {
console.log("[OK] Wrote manifest path to registry.\n[INFO] Try: npm run check-win")
process.exit(0)
}
})
})
regedit.createKey('HKCU\\Software\\Mozilla\\NativeMessagingHosts\\patchfox', function (a, b) {
regedit.putValue(valuesToPut, function (err) {
if (err) {
console.log("[ERROR] Problem writing to registry.", err)
process.exit(1)
} else {
console.log("[OK] Wrote manifest path to registry.\n[INFO] Try: npm run check-win")
process.exit(0)
}
})
})