我有一个需要侧载的 Windows 通用应用程序。我正在使用 NSIS 和 powershell 脚本来安装它。我想让 NSIS 安装程序在 Windows 设置中启用应用程序旁加载。我已经查看了 Microsoft 提供的有关启用应用程序侧载的文档 ( https://msdn.microsoft.com/library/windows/apps/xaml/dn706236.aspx )。
如果我从文档中运行 powershell 命令以在独立的 powershell 窗口中设置注册表,它工作正常,我可以安装应用程序。但是,当我将注册表命令放入安装程序时,它不起作用。我尝试使用 Powershell 和 NSIS 来设置注册表。使用WriteRegDWORD
NSIS 的reg add
命令和 Powershell 的命令都说他们成功了。读回这些值会产生正确的值。如果我尝试Set-ItemProperty
在 Powershell 脚本中设置注册表,它会抱怨路径 HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock 不存在。
似乎没有任何方法可以判断 Powershell 是否启用了侧载。即使在安装程序上下文之外检查注册表也不是有效的解决方案,因为通过 Windows 设置启用旁加载不会设置注册表。
所以我目前的解决方案是尝试安装该应用程序。如果安装失败,请检查错误消息并查看它是否抱怨未启用侧载。如果是这种情况,则打开 Windows 设置到开发人员功能页面并弹出一条消息,提示需要启用侧载才能继续。然后在关闭 Windows 设置后重新尝试安装该应用程序。
是否可以从 NSIS 安装程序启用旁加载?或者是否可以检查是否启用了侧载?