Win10 应用程序的分发和安装方法

Ways to Distribute and Install a Win10 Application

不使用 Microsoft-Store 分发和安装 Win10 Appx 包的方法有哪些?

我有一个客户希望我创建一个 "Exe-File" 让他在他的公司内部分发应用程序。

所以我用 Visual Studio 的内置工具制作了一个 Appxpackage。

其中包含:

问题: 要安装该应用程序,我必须 运行 PowerShell 中的 .ps1 文件,然后安装证书 (.cer) 才能安装该程序包。我认为客户 "only" 安装该应用程序就够了。

然后我使用 "MakeAppX.exe" 创建了一个 AppxPackage 并使用 SignTool 对其进行了签名。

但仍然需要先安装证书。

我也知道 Microsoft 有允许将应用程序分发给选定员工的业务选项,但这有点不是客户的选项...

所以我的问题是:

还有其他分发应用程序的方法吗?

最终用户只需双击 appx/appxbundle 文件即可安装软件包。这种体验很像安装一个 MSI/EXE。这将调用系统中内置的 App Installer。

也可以在内网网站上托管并安装from the web(我之前尝试过这种方法,但没有成功,可能是因为我尝试的设备没有得到最新的更新。)

是否可以使流程自动化?

安装 appx 实际上归结为两个 PowerShell 命令,

Import-Module Appx;
Add-AppxPackage appname.appx;

You can call PowerShell commands from C#,而不是 运行 .ps1 文件。所以最终用户不会看到可怕的 PowerShell CLI

注意:安装appname.appx前需要先安装依赖,也是appx包,位于子文件夹中。所以编写程序为每个 appx 调用 Add-AppxPackage,首先是依赖项,然后是应用程序。

可以不先安装证书就安装App吗?

没有。这是困难的部分。

为了安装您的应用程序,最终用户必须安装该应用程序的证书以表示他们信任您 - 只能安装来自受信任来源的应用程序。而且这个过程需要用户的明确同意,我认为你不能悄悄使用脚本或其他东西安装证书。

在公司环境中,设备可能已经安装了一些证书。如果您的应用程序是使用这些证书之一签名的,那么您的应用程序将被视为来自受信任的来源,您可以完全跳过安装证书的步骤。但我认为要求您的客户提供这样的代码签名证书是不现实的,因为这严重违反了他组织的信息安全。