Win10 应用程序的分发和安装方法
Ways to Distribute and Install a Win10 Application
不使用 Microsoft-Store 分发和安装 Win10 Appx 包的方法有哪些?
我有一个客户希望我创建一个 "Exe-File" 让他在他的公司内部分发应用程序。
所以我用 Visual Studio 的内置工具制作了一个 Appxpackage。
其中包含:
- 添加 AppDevPackage。ps1
- appname.appx
- appname.cer
问题:
要安装该应用程序,我必须 运行 PowerShell 中的 .ps1 文件,然后安装证书 (.cer) 才能安装该程序包。我认为客户 "only" 安装该应用程序就够了。
然后我使用 "MakeAppX.exe" 创建了一个 AppxPackage 并使用 SignTool 对其进行了签名。
但仍然需要先安装证书。
我也知道 Microsoft 有允许将应用程序分发给选定员工的业务选项,但这有点不是客户的选项...
所以我的问题是:
- 还有其他分发应用程序的方法吗?
- 是否可以使流程自动化? (安装证书和 Appx 的脚本)
- 我可以不先安装证书就安装App吗?
还有其他分发应用程序的方法吗?
最终用户只需双击 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吗?
没有。这是困难的部分。
为了安装您的应用程序,最终用户必须安装该应用程序的证书以表示他们信任您 - 只能安装来自受信任来源的应用程序。而且这个过程需要用户的明确同意,我认为你不能悄悄使用脚本或其他东西安装证书。
在公司环境中,设备可能已经安装了一些证书。如果您的应用程序是使用这些证书之一签名的,那么您的应用程序将被视为来自受信任的来源,您可以完全跳过安装证书的步骤。但我认为要求您的客户提供这样的代码签名证书是不现实的,因为这严重违反了他组织的信息安全。
不使用 Microsoft-Store 分发和安装 Win10 Appx 包的方法有哪些?
我有一个客户希望我创建一个 "Exe-File" 让他在他的公司内部分发应用程序。
所以我用 Visual Studio 的内置工具制作了一个 Appxpackage。
其中包含:
- 添加 AppDevPackage。ps1
- appname.appx
- appname.cer
问题: 要安装该应用程序,我必须 运行 PowerShell 中的 .ps1 文件,然后安装证书 (.cer) 才能安装该程序包。我认为客户 "only" 安装该应用程序就够了。
然后我使用 "MakeAppX.exe" 创建了一个 AppxPackage 并使用 SignTool 对其进行了签名。
但仍然需要先安装证书。
我也知道 Microsoft 有允许将应用程序分发给选定员工的业务选项,但这有点不是客户的选项...
所以我的问题是:
- 还有其他分发应用程序的方法吗?
- 是否可以使流程自动化? (安装证书和 Appx 的脚本)
- 我可以不先安装证书就安装App吗?
还有其他分发应用程序的方法吗?
最终用户只需双击 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吗?
没有。这是困难的部分。
为了安装您的应用程序,最终用户必须安装该应用程序的证书以表示他们信任您 - 只能安装来自受信任来源的应用程序。而且这个过程需要用户的明确同意,我认为你不能悄悄使用脚本或其他东西安装证书。
在公司环境中,设备可能已经安装了一些证书。如果您的应用程序是使用这些证书之一签名的,那么您的应用程序将被视为来自受信任的来源,您可以完全跳过安装证书的步骤。但我认为要求您的客户提供这样的代码签名证书是不现实的,因为这严重违反了他组织的信息安全。