要在Electron应用程序的安装期间使用MSI安装程序创建Windows注册表项,请使用以下代码示例:
在Electron应用程序的 package.json 文件中添加以下脚本:
"build": {
"win": {
"target": "msi",
"icon": "build/icon.ico"
}
},
"scripts": {
"postinstall": "electron-builder install-app-deps && node create-registry.js"
},
在项目根目录中创建一个名为 create-registry.js 的 JavaScript 文件,并添加以下代码:
var Registry = require('winreg');
var regKey = new Registry({
hive: Registry.HKCU,
key: '\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run'
});
var appPath = process.execPath;
var appName = require('./package').name;
var appDescription = require('./package').description;
regKey.set(appName, Registry.REG_SZ, '"' + appPath + '"', function(err){
if(err){
console.log(err);
} else {
console.log('Registry key successfully created: ' + appName);
}
});
regKey.createSubKey(appName, function(err){
if(err){
console.log(err);
} else {
regKey.set(appName, 'DisplayName', Registry.REG_SZ, appName, function(err){
if(err){
console.log(err);
}
})
regKey.set(appName, 'Description', Registry.REG_SZ, appDescription, function(err){
if(err){
console.log(err);
}
})
console.log('Subkey successfully created: ' + appName);
}
});
运行以下命令,以确保在安装期间安装所有依赖项:
npm install --save-dev electron-builder
npm install --save electron-builder-squirrel-windows
现在您已经准备好了将Electron应用程序的Windows注册表项添加到MSI安装程序中。