0

重複の可能性:
昇格されたプロセスから昇格されていないプロセスを開始します

ストーリー:セットアップが完了すると
Standard-User、MSIAs Administratorを起動し、Msiがプロセス(Sample.exeとしましょう)を起動します。
問題:
Sample.exeは、現在のデスクトップ(標準)ユーザーではなく、管理者権限で起動します。これはいくつかの問題を引き起こしています。
したがって、sample.exeは、ログインしている現在のウィンドウのユーザー(標準ユーザー)で開始する必要があります。

私はグーグルをして、この記事を見つけました。しかし、この記事はありC++、私はとを使用C#してWIXいます。したがって、C#でこれを行う他の簡単な方法がある場合、そうでない場合は、プロジェクトでこの記事のコードをどのように使用できますか?

NOTE: This question has been asked multiple time on stackoverflow but i didnt find the answer for c#

4

1 に答える 1

2

ベストプラクティスに従って、インストーラーは...

  • 昇格されていない標準ユーザーとして起動
  • UI インストール シーケンスが昇格されていない
  • 実行シーケンスに移行すると、確認のプロンプトが表示されます。ユーザーが管理者の場合、UAC プロンプトが表示されます。ユーザーが管理者でない場合、管理者の「肩越し」の資格情報を求めるプロンプトが表示されます
  • Immediate または Deferred with Impersonation としてスケジュールされたカスタム アクションは、ユーザー コンテキスト (非昇格) で実行されます。
  • 偽装なしで保留としてスケジュールされたカスタム アクションは、SYSTEM として昇格して実行されます。

MSI が昇格されたプロセス (CMD run as admin など) から起動された場合、UI と実行はすべて昇格されます。これは仕様によるものであり、私の知る限りこれを下げる方法はありません。

于 2012-09-20T15:06:38.630 に答える