通过Visual Studio Installer(C#)和PowerShell安装Windows应用商店应用

时间:2013-02-25 16:26:46

标签: powershell windows-8 windows-store-apps

我想使用易于使用的 msi安装程序安装 Windows应用商店应用。 我正在使用 Visual Studio Installer 来创建msi包。 Windows Store应用程序可以在没有商店的情况下通过 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\"}");
            }

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

  

添加包被拒绝,因为该进程使用本地   systemaccount。

但是它以管理员权限运行!直接使用PowerShell安装所有内容都可以。所以每个命令都应该是正确的。 任何想法都错了吗?不知道该怎么去google了... 提前致谢

此致 Sebastian Neurohr

0 个答案:

没有答案