2017-06-30 13 views
0

管理者権限で再起動して管理タスクを実行することがあるプログラムがあります。Desktop Bridgeで管理者としてプログラムを起動する方法

Process.Start(new ProcessStartInfo("self.exe") { Verb = "runas" }) 

プログラムがMSIと一緒にインストールされている場合に動作します: 現在、それは次の呼び出しを行い、メニュー項目を、持っています。通常のUACプロンプトが表示され、ユーザーはプログラムを昇格させることができます。

ただし、Desktop Bridgeコンバータを使用して変換し、Storeの方法でインストールすると、権限が不十分なためにこの呼び出しがクラッシュします。 UACプロンプトで自分自身を(再)始める別の方法がありますか?

また、COMを使用して高度を実行することはできますか?私はところで

+1

デスクトップブリッジアプリケーションは自動的に昇格することはできません。これはMSFTの動作です。独自のデスクトップブリッジアプリケーションでも、Desktop App Converter(ストアの作成)など、自動的には昇格しません。唯一の解決策は、エンドユーザーがアプリを手動で昇格させることです。 –

答えて

1

リリースブランチ、クリエイター更新日午前

は(再)プロンプトUACで自己を開始するために私のための別の方法はありますか?このページによると

号、あなたのアプリケーションは現在サポートされていませんからは、UACプロンプトを要求しているようだ(https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-prepareアプリを探すには、UIAccessが必要です)。

UWPアプリでは、実行中はinteractive userとして動作する必要があります。同様の質問に答えるMSDNから1歳の投稿があり

:またhttps://social.msdn.microsoft.com/Forums/en-US/a35b4c70-5fc6-4f1a-b80a-b11ee90105eb/uwpdesktop-bridgeproject-centennial-appconverter-convert-admin-apps?forum=wpdevelop

が、それはCOMを使用して昇格を行うことができますか?

上記の所見を考えれば、答えはおそらくnoです。

私があなたの立場にいた場合、私はこれらを考え直すでしょうAdministrative tasks。とにかくUWPアプリとして実行できないようなものかもしれません。たとえば、HKLMキーを作成しようとすると失敗します。

+0

私のアプリの主な目的は、開いているウィンドウの位置を管理することです。そのため、ユーザーは一部のアプリケーションのウィンドウを移動したい場合、そのアプリケーションが上昇しているため、私のアプリケーションを高く実行する必要があります。ストアアプリとしてインストールされている場合でも、右クリックして「管理者として実行」を選択することはできますが、それはアプリやホットキーから行うよりもあまり便利ではありません。 – LOST

+0

これは有効な答えではないことに気付きました。最初に言及したリンクでは、UIAマニフェストによるUIAccessを必要とするアプリについて話しますが、これは私のアプリにとっては当てはまりません。私のアプリにアクセスする必要はありませんが、ユーザーにアプリを再起動するオプションを与えたいと思います。 – LOST

+0

私の答えは、より一般的なケースをカバーしています。アプリはUACプロンプトを要求できません。上昇したアプリは店内で受け入れられません。したがって、サポートされているユースケースではないため、ユーザーにアプリを再起動するかどうかを尋ねる方法もありません。おそらく、最高の選択肢は、アクセスを手動で手動で実行する方法をユーザーにガイドすることです。 –

関連する問題