2008-08-21 6 views
1

Visual Studio 웹 설치 프로젝트를 사용하여 Project Server의 기능을 확장하는 응용 프로그램을 설치하고 있습니다. 내 설치 프로젝트의 사용자 지정 작업 중 하나에서 PSI (Project Server 인터페이스)의 메서드를 호출하려고하지만 "Unauthorized access"오류가 발생할 때마다 호출하려고합니다. PSI에 액세스하려면 어떻게해야합니까? 콘솔 응용 프로그램에서 사용할 때 동일한 코드가 아무런 문제없이 작동합니다.msi 설치 관리자의 Project Server 인터페이스 웹 메서드 호출

답변

2

PSI에 액세스 할 수있는 현재 사용자 자격 증명으로 실행중인 콘솔 상황과 비슷하게 들립니다. 웹에서 실행할 때 IIS 응용 프로그램 인스턴스의 cred를 사용하여 실행 중입니다. 난 당신이 IIS 응용 프로그램에 세션 creds를 전달하는 위임을 설정하거나 PSI에 액세스 할 수있는 IIS 응용 프로그램에 대한 몇 가지 정적 creds를 사용해야 할 것 같아요.

+0

웹에서 아무것도 실행하지 않고 msi 내부에서 실행되는 설치 프로그램 사용자 지정 작업에서 메서드를 호출합니다. – kjv

1

마침내 대답을 찾았습니다. LoginWindows PSI 서비스를 호출하여 적절한 사용자, 암호 및 도메인 토큰을 사용하여 NetworkCredentials에 자격 증명을 설정할 수 있습니다. 그런 다음 자격 증명이 명시 적이면 모든 PSI 방법을 호출 할 수 있습니다. 그렇지 않으면 DefaultCredentials를 사용하여 msi가 로컬 시스템 계정으로 실행되기 때문에 Unauthorized Access 오류가 발생합니다.