3

我想使用易于使用的msi Installer安装Windows Store App。我正在使用Visual Studio 安装程序来创建 msi 包。Windows 应用商店应用程序可以在没有应用商店的情况下仅通过PowerShell安装。

工作:安装程序成功完成。“AllowAllTrustedApps”所需的更改和证书的安装正在运行。

不工作:在 PowerShell 中通过 C# 代码安装 appx 包没有任何作用

通过 PowerShell 安装证书有效:

using (RunspaceInvoke invoker = new RunspaceInvoke())
            {
                invoker.Invoke("certutil.exe -addstore -f \"TrustedPeople\" \"C:\\Program Files\\App_1.0.0.0_x64.cer\"");
            }

安装 appx 不起作用:

using (RunspaceInvoke invoker = new RunspaceInvoke())
            {
                invoker.Invoke("Add-AppxPackage -Path \"C:\\Program Files\\App_1.0.0.0_x64.appx\"}");
            }

还尝试了 .ps1 文件。我的想法是代码无法处理在 PowerShell 中安装应用程序并杀死它时出现的进度条。所以我想启动一个新的 PowerShell 窗口:

using (RunspaceInvoke invoker = new RunspaceInvoke())
            {
                invoker.Invoke("cmd \c start powershell -Command {Add-AppxPackage -Path \"C:\\Program Files\\App_1.0.0.0_x64.appx\"}");
            }

但这会产生一个我无法真正阅读的异常,因为它会非常快地关闭窗口。异常包含以下内容:

添加包被拒绝,因为该进程使用本地系统帐户。

但它以管理员权限运行!直接使用 PowerShell 安装所有东西都可以。所以每个命令都应该是正确的。有什么想法有什么问题吗?不知道再用谷歌搜索什么了...在此先感谢

问候, 塞巴斯蒂安·纽尔

4

0 回答 0