Windows installer Electron Squirrel.Windows:。msi不工作
我开发了一个Electron应用程序,使用Windows installer Electron Squirrel.Windows:。msi不工作,windows-installer,electron,electron-packager,squirrel.windows,Windows Installer,Electron,Electron Packager,Squirrel.windows,我开发了一个Electron应用程序,使用eletron packager,然后Electron squirrel启动我创建了.exe和.msi安装程序文件。.exe文件工作正常,但.msi工作不正常。它看起来只是在某个点停止并关闭。在控制面板中,我可以看到“我的应用程序机器范围的安装程序”,我不确定这是否是理想的效果,但尽管如此,我的应用程序没有安装 我有一个非常基本的HandleSquirreEvents函数: switch (squirrelEvent) { case '--squ
eletron packager
,然后Electron squirrel启动
我创建了.exe
和.msi
安装程序文件。.exe
文件工作正常,但.msi
工作不正常。它看起来只是在某个点停止并关闭。在控制面板中,我可以看到“我的应用程序机器范围的安装程序”,我不确定这是否是理想的效果,但尽管如此,我的应用程序没有安装
我有一个非常基本的HandleSquirreEvents函数:
switch (squirrelEvent) {
case '--squirrel-install':
case '--squirrel-updated':
// Optionally do things such as:
// - Add your .exe to the PATH
// - Write to the registry for things like file associations and
// explorer context menus
// Install desktop and start menu shortcuts
spawnUpdate(['--createShortcut', exeName]);
setTimeout(application.quit, 1000);
return true;
case '--squirrel-uninstall':
// Undo anything you did in the --squirrel-install and
// --squirrel-updated handlers
// Remove desktop and start menu shortcuts
spawnUpdate(['--removeShortcut', exeName]);
setTimeout(application.quit, 1000);
return true;
case '--squirrel-obsolete':
// This is called on the outgoing version of your app before
// we update to the new version - it's the opposite of
// --squirrel-updated
application.quit();
return true;
}
这有点牵强,但可能与数字签名有关 这只是第一个建议,不是真正的答案。我将在获得更多信息后更新:如果您安装了Windows SDK,您可以搜索
Orca-x86_en-us.msi
。安装此MSI,您将可以访问“Orca”-MSI文件查看器。在Orca中打开MSI并通过工具->验证运行验证。单击Go(或者取消选中信息消息的勾选框)。应该有一个快捷方式到奥卡添加到您的开始菜单。请用任何错误消息更新您的答案。我发现:
它说:
机器范围安装Squirrel的Releasify命令生成MSI
适合通过组策略安装的文件。这个MSI不是一个
通用安装程序,这意味着一旦运行MSI,用户
从现在起,将在下次登录时安装应用程序
因此,大多数普通用户应该继续运行Setup.exe生成的
通过重新简化,但是如果您想要一个IT管理员友好的版本,
你可以把MSI交给我
大多数Squirrel用户不需要做任何新的事情来实现这一点
行为,尽管某些NuGet包ID/名称可能会导致
MSI的问题
看起来我的
.msi
工作得很好,只是我期望得到不同的结果 我们能看到这个微星吗?如果可以的话,我相信我们能弄清楚到底发生了什么。如果它很大,你可以在上面运行一个,然后只上传基本的MSI(没有嵌入式CAB)。这意味着它无法安装,但可以查看。在上面的链接中阅读有关管理员安装的内容,或者尝试运行(在标准命令提示符下-根据需要调整路径):msiexec/a File.msi TARGETDIR=C:\MyInstallPoint/qn
来创建一个。我没有意识到Squirrel制造的msi。我以为上次我检查它时只做了EXE(每个用户自动更新)@SteinÅsmul谢谢你的回答!我不知道你的意思。我运行了您提到的cmd
命令,它创建了一个.exe
文件,效果很好(尽管我仍在试图找出.msi
的错误)。我不知道你是否希望我上传。FWIW我已经写了一些NW和Electron应用程序,我只是用WiX/IsWiX把它们打包,就像其他桌面应用程序一样。我看不出它们有什么特别之处,它们需要自己的利基包装堆栈。@SteinÅsmul谢谢,我照你说的做了,运行了Orca验证,没有产生任何错误。这是很有用的,因为正因为如此,我想我找到了.msi
无法按预期工作的原因(有关详细信息,请参阅下面我的答案)。