2012-01-28 17 views
3

私はC#で書かれたプロジェクトを持っています。このプロジェクトのインストールプロジェクトを作成します。このセットアップは、ユーザーに管理者権限がある場合にのみ実行できます。どのように私はこれを行うことができますか?管理者権限でのみ実行できるインストーラはどのように作成できますか? (Visual Studio 2010)

「起動条件」に「条件= AdminUser」を追加しようとしましたが、セットアッププロジェクトをビルドしましたが、管理者権限のないユーザーからインストーラを実行できます。

+1

これはUACとは明らかに分かりません。 Windowsは、自動的にEXEの名前(セットアップ、アップグレードなど)に基づいて許可を求めて自動的に昇格し、プロンプトを表示します。 –

+0

@HansPassant、ファイル名を変更するか、Windows Server 2005、XP、またはUACを持たない他のOSで実行する場合は適用されない可能性があります –

+2

.exeの名前を変更するのが最初の試みです。まともな答えを得るには、OSとユーザーアカウントのグループメンバーシップを文書化する必要があります。 –

答えて

1

AdminUserおよび特権プロパティは、古いWindowsバージョンの管理者特権を検出するために使用できます。

ただし、VistaおよびWindows 7では、任意のユーザーが昇格(UAC)を通じて管理者になることができます。したがって、現在のユーザーが管理者であるかどうかを検出することはできません。

ほとんどの場合、現在のユーザーに割り当てられているアクセス許可を検出し、それに基づいて管理者であるかどうかを判断するカスタムアクションを作成できます。しかし、これはあまり努力する価値がありません。

関連する問題