【问题标题】:UWP installer without powershell没有 powershell 的 UWP 安装程序
【发布时间】:2017-04-14 17:19:58
【问题描述】:

我正在寻找一种更加用户友好的方式来为我的 UWP 应用程序制作安装程序。我不想通过商店分发,我知道您需要设置开发人员设置以启用应用程序的旁加载。

是否可以在 C# 中模拟将 appx 包部署到系统中的 PowerShell 脚本的执行?如果是这样,当您想要更新 appx 包而不是新安装时,它是如何工作的?

对于我的用户来说,必须手动执行 powershell 脚本来安装应用程序似乎有点奇怪。所以我想创建一个安装程序。

编辑:详细说明,我正在寻找一种在 C# 中安装 appx 包的方法。我不想使用任何命令行/外部工具

谢谢

【问题讨论】:

  • 嗨 Joshua,我正在寻找一种方法来模仿您的链接中提到的功能,但在 C# 中
  • 只要通过你的C#代码执行powershell脚本就够了吗?
  • 是的,我想是的,如果它还允许用户更新 appx 包并让安装程序在 powershell 脚本由于某种原因失败时获取错误信息
  • 所以简单的谷歌查询是“从 c# 运行 powershell 脚本”。看看那里,第一次点击会告诉你该做什么。

标签: c# uwp


【解决方案1】:

您可以使用 Windows.Management.Deployment.PackageManager 对象的 AddPackageAsync 方法从代码安装 appx 包。这在 MSDN 上的 Add app package sample 中针对 C++ 和 C# 进行了演示。

要更新现有的包调用 PackageManager.UpdatePackageAsync

【讨论】:

  • 谢谢罗伯。这只能通过 UWP 访问吗?或者我也可以从 WPF 访问它吗?
  • 它仅适用于桌面应用程序(例如 WPF)。它不适用于 Windows 应用商店应用
  • 是否必须通过VS项目文件中的TargetPlatformVersion调整来参考System.Runtime和Windows.Management.Deployment?仅通过尝试在 VS 中找到正确的引用似乎无法访问该类。
  • 这是否适用于 UWP(Windows IoT-Core RaspberryPi)?我想应该,但是?或者,是否可以从设备上运行的无头应用程序简单地在 IoT-Core 设备上启动 Add-AppxDevPackage.ps1 -Force 脚本?
  • 仍在寻找使用 UWP 的方法!
【解决方案2】:

Microsoft 现在添加了自己的图形安装程序。 您只需双击 appxbundle 文件即可。

如果您使用自签名证书,则必须在系统中将其设置为受信任。 cer 文件也在 zip 存档中,由 Visual Studio 创建。

【讨论】:

  • 如果管理员禁用了 powershell,这会起作用吗?我们可以安装 .exe 等应用程序,但不允许访问 powershell。
  • 有谁知道这在没有管理员访问权限或 powershell 的情况下是否有效?我收到以下错误 Appinstaller operation failed with error code 0x80190191。详情:未经授权
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-10
  • 1970-01-01
  • 2020-12-29
相关资源
最近更新 更多