我使用以下脚本安装我的电子应用程序(适用于 Windows 的 msi 版本):
msiexec /i "https://URL_TO_MY_APP_Messenger.msi" MSIINSTALLPERUSER=""
它安装在 C:\Program Files\Messenger 下,这是预期的,因为我希望该应用程序位于系统级别
但是正如我所看到的,我还有另一个文件夹 C:\Users\Ismoil\AppData\Local\messenger-updater 看起来这是电子更新程序保存该文件夹中某些文件的更新的地方
应用程序更新后,我最终会在桌面屏幕上看到 2 个应用程序,因为新更新的安装位于用户级别下 C:\Users\Ismoil\AppData\Local\Programs\Messenger
如何解决?
理想情况下,我想根据 MSIINSTALLPERUSER=""(系统级别)MSIINSTALLPERUSER="1"(用户级别)来控制更新文件夹
如果不可能,我想将我的应用程序仅保留在系统级别,但看起来电子更新器仅在用户级别保留更新
看起来自动更新程序不支持 MSI 版本,我认为这就是我们通常在 Windows 中看到 2 个版本的 Messenger 的原因。 在我们的例子中,到目前为止,自动更新程序正在通过 NSIS
.exe
安装进行工作。
合作伙伴使用脚本安装 msi
版本,并且由于自动更新程序不支持 msi
,因此它只是下载并安装 .exe
版本的应用程序(在用户级别),如果 msi
是,则会创建副本最初安装在系统级别
不幸的是,截至2024年
electron-updater
仍然不支持MSI自动更新,它仅支持NSIS(.exe)