2009-10-09 18 views
6

私はMSIインストールパッケージをビルドするためにVisual Studio 2008を使用しています。インストール中に私は多数のカスタムアクションを持っています。 OnAfterInstallカスタムアクション内で、私はインストールによって展開されたexeを起動しようとします。 exeは正常に起動しますが、NT AUTHORITY \ SYSTEMのセキュリティコンテキスト内(つまり、Windowsインストーラプロセスに与えられた昇格された権限の下)で実行されます。私は実際に最初にインストールを開始した現在ログオンしているユーザーのセキュリティコンテキストで実行するためにexeを必要とします。誰もexeを起動する方法を知っているので、この「縮小された」コンテキストで動作します。可能であれば、ユーザーにログイン資格情報を尋ねることを避けたいと思っています。msiインストール後にexeを起動しますが、現在のユーザー権限を使用しています

答えて

2

リモートデスクトップサービスAPI:http://msdn.microsoft.com/en-us/library/aa383464%28v=VS.85%29.aspxを使用する必要があります。 WinXPから利用可能です。

このAPIを使用すると、ログインしているユーザーアカウントのコンテキストでアプリケーションを実行できます。それを使用できるようにするには、システムとして実行する必要があります。そしてあなたは。 たとえば、WTSEnumerateSessionsを使用してセッションを列挙し、WTSQueryUserTokenによってユーザートークンを取得し、このトークンを使用してアプリケーションを実行できます。

関連する問題