我目前正在使用相同的源代码处理两个ReactJs
Electron
项目。为了避免我的说法令人困惑,我在同一源代码中获得了Product A
和Product B
,但两者的区别在于徽标和配置。
当我使用electron-builder
生成可执行文件时,它实际上是两个不同的可执行文件,当我安装两个可执行文件后,它确实是两个不一样的应用程序。但问题是,当我打开这两个应用程序时,它会覆盖以前的安装。
我确实假设更改我的electron.js
上的setAppUserModelId
和appId
、name
以及package.json
中的其他CCD_6会诱使Windows认为这两个项目不同,但最终并没有。
//electron.js
app.on("ready", () => {
createWindow();
if (process.platform === "win32") {
app.setAppUserModelId("com.product.a"); //similar thing goes to Product B
}
});
//package.json
"build": {
"appId": "com.product.a",
"win": {
"target": "NSIS",
"icon": "build/logo.ico"
}
},
问题:
我先安装productA.exe
,然后安装productB.exe
,两个应用程序确实显示为单独的应用程序,但当我启动Product A
时,它显示Product B
,当我启动CCD时,它会显示Product B
(这没有错(。
预期:
我在这里试图实现的是,当我安装productA.exe
时,它显示Product A
,而当我安装了productB.exe
时,它则显示Product B
。
问题:
我是错误地配置了我的项目,还是遗漏了一些内容?
通过将appId移动到";构建";对外界来说,问题解决了。
您应该修改package.json"name":"产品A";或";产品B";
我还没有一个好的解决方案。更改appId的位置无效。