質問

私はWinFormsの開発を行っており、XPとVS 2005を実行しています(古代、私は知っています)。管理者権限なしでアプリケーションを実行できることを確認したいのですが、非管理者としてVSを実行しようとするのが面倒なので、アプリをテストするためにログインおよびログアウトしたくありません。

非管理者としてデバッグできる方法はありますか?

非管理者と同じ権限セットで実行することを強制するコードに追加できるコードアクセスセキュリティ属性のセットはありますか?

役に立ちましたか?

解決

現在ログインしているデスクトップセッションから別のユーザーとしてVSを実行します。 「実行」を有効にして使用する方法を参照してください。 Windowsでプログラムを実行する際のコマンド。これは、ログインおよびログアウトする必要がないことを意味します。

RunAsを介してターゲットアプリケーションを別のユーザーとして実行し、(必要に応じて)Debug>を介してVSデバッガーをプロセスにアタッチすることをお勧めします。 Visual Studioの[プロセスにアタッチ]メニュー項目。

他のヒント

Philの答えに基づいて、スタートアッププロジェクトを次のように設定することでプロセスを自動化できます。

外部プログラムを起動します: c:\ windows \ system32 \ runas.exe

コマンドライン引数: / noprofile / user:{MachineName} \ {UserName} {ApplicationName} .exe

残念ながら、プロセスをVSデバッガーに自動的にアタッチする方法(セキュリティ警告のため)はないと思いますが、条件付きで呼び出すことで

#if (DEBUG) 
    System.Diagnostics.Debugger.Launch();
#endif

2回のクリックでデバッガーにアタッチするように求められます。

より根本的な変更を加えてこれにアプローチする:

コンピューターで同時リモートデスクトップセッションを許可する場合( Vista XP 、他のユーザーにはGoogleを使用)、127.0.0.2へのリモートデスクトップセッションを開始します。ローカルシステムでまったく別のユーザーとして実行すると、何でもできます。ユーザーを切り替える必要はありません。

通常、私は非管理ユーザーとして実行しますが、管理タスクを実行する必要があるときはいつでも管理者としてリモートデスクトップセッションを開始します。ただし、逆も同様に簡単に行えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top