2008-08-21 8 views
1

私はVisual Studio Webセットアッププロジェクトを使用して、Project Serverの機能を拡張するアプリケーションをインストールしています。セットアッププロジェクトのカスタムアクションの1つからPSI(Project Server Interface)のメソッドを呼び出すが、毎回「401 Unauthorized access」エラーが出る。 PSIにアクセスできるようにするにはどうすればよいですか。コンソールアプリケーションから使用した場合、同じコードが問題なく動作します。msiインストーラからProject ServerインターフェイスWebメソッドを呼び出す

答えて

2

PSIにアクセスできる現在のユーザー資格情報で実行しているコンソールの状況のように聞こえます。 Webから実行すると、IISアプリケーションインスタンスの信用証明書で実行されます。私はあなたがIISアプリケーションにセッションの信用を渡すために委任を設定するか、またはPSIにアクセスできるあなたのIISアプリケーション用のいくつかの静的な信用を使用する必要があると思います。

+0

Webから何も実行していないので、msiの内部から実行されるインストーラのカスタムアクションからメソッドを呼び出しています。 – kjv

1

最後に答えが見つかりました。 LoginWindows PSIサービスを呼び出して、適切なユーザー、パスワード、およびドメイントークンを使用してNetworkCredentialsに資格情報を設定できます。次に、資格情報が明示的である限り、任意のPSIメソッドを呼び出すことができます。それ以外の場合、DefaultCredentialsを使用すると、ローカルシステムアカウントでmsiが実行されるため、Unauthorized Accessエラーが発生します。

関連する問題