3

使いやすいmsi Installerを使用してWindows ストア アプリをインストールしたいと考えています。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