powershell - UWP 的 'Add-DevAppPackage' Powershell 脚本检查开发人员许可证。这是侧载的问题吗?

标签 powershell windows-10 uwp

我正在开发一个 LOB(业务线)UWP 项目,我们希望将该应用程序作为 .appxbundle 分发文件,旁边是 .cer和一个 Powershell 脚本。这是当您通过选择 Project->Store->Create App Packages... 从 Visual Studio 生成包时在包中为您生成的内容。

我的问题是 Powershell 脚本,Add-DevAppPackage.ps1 , 里面有一个开发者许可证的检查。具体来说,它调用 powershell cmdlet Get-WindowsDeveloperLicense .如果这没有返回任何东西,它会设置一个最终调用 Show-WindowsDeveloperLicenseRegistration 的变量。它显示了一个弹出窗口,强制用户将其 Windows 10 设备置于“开发人员模式”。如果用户不这样做,则脚本将失败并且用户无法安装应用程序。

如果我们取消对开发人员许可证的此检查,脚本会按照我的预期运行并安装应用程序和证书,当 Windows 10 计算机设置为“侧载应用程序”或“开发人员模式”时不会出现问题。现在,当用户设备处于“不使用开发人员功能”模式时,就会出现问题。脚本崩溃。

有没有办法确定当前设备是否处于“至少”旁加载应用程序模式,如果不是,则显示一个对话框以提示用户启用它?

目前用户必须启用开发人员模式才能旁加载应用程序,我希望他们不必这样做。我完全希望用户只需要启用“侧载应用程序”

最佳答案

Is there a way of finding out if the current device is in 'At Least' Sideload apps mode, and if it isn't, show a dialog to prompt the user to enable it?



AFAIK,目前无法检测是否启用了旁加载应用程序模式。而且我们无权显示一个对话框来提示用户启用旁加载应用程序。

The problem now arises when the users device is in the mode of 'Don't use developer features'. The script crashes.



这是因为在 Sideload 应用程序模式下安装应用程序时,您需要使用其受信任的证书安装应用程序。所有 UWP 应用都必须使用证书签名。

Currently users have to enable Developer Mode to be able to sideload an app, which I'd prefer they didn't have to do. I'd fully expect users to only have to enable 'Sideload apps'.



在创建项目包之前,您可以打开 list 文件并在 Packaging 中标签:

enter image description here

您可以在此处选择使用哪个证书来签署您的应用程序。如果你不想修改这个,没关系,因为当你打包你的应用程序时,会自动生成一个证书文件,你说你希望将应用程序作为 .appxbundle 文件分发,以及 .cer 和 Powershell脚本。在旁加载应用模式下,不需要 Powershell 脚本文件。您只需复制 .appxbundle 文件和 .cer 文件,然后
  • 启用旁加载应用模式。
  • 单击 .cer 文件以信任此认证。
  • 单击 .appxbundle 文件以安装您的应用程序。

  • 启用 Sideload 应用程序模式后,请不要使用 .ps1 文件安装应用程序。

    关于powershell - UWP 的 'Add-DevAppPackage' Powershell 脚本检查开发人员许可证。这是侧载的问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38971791/

    相关文章:

    powershell - 测试字符串的最佳方法是什么?

    powershell - New-SelfSignedCertificate 不生成可导出 key

    tensorflow - 如何通过 Windows 10 上的单个进程在辅助 GPU 上使用 100% 的 VRAM?

    Powershell Get-Eventlog 按时间过滤

    powershell - 如何使用 powershell 中另一个函数的输出来运行命令?

    vagrant - 如何删除由 vagrant 在 Windows 10 上创建的仅主机网络接口(interface)?

    windows-10 - 如何在没有 Windows 应用商店的情况下安装 WSL?

    javascript - 如何在没有 winjs 支持的情况下使用 javascript 开发 UWP 应用程序?

    c# - 单击“确定”后的 ContentDialog 延迟

    c# - 将 Windows 运行时组件与 Javascript UWP 应用程序一起使用时出现 "Unknown Runtime Error"