Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows installer 从msi安装程序调用Project Server接口web方法_Windows Installer_Methods_Action - Fatal编程技术网

Windows installer 从msi安装程序调用Project Server接口web方法

Windows installer 从msi安装程序调用Project Server接口web方法,windows-installer,methods,action,Windows Installer,Methods,Action,我正在使用Visual Studio web安装项目来安装扩展project Server功能的应用程序。我想从我的安装项目的一个自定义操作从PSI(Project Server接口)调用一个方法,但每次都会出现“401 Unauthorized access”错误。我应该怎么做才能访问PSI?从控制台应用程序使用相同的代码时,不会出现任何问题。在控制台情况下,您运行的是当前用户凭据,可以访问PSI。当从web运行时,它将使用IIS应用程序实例的凭据运行。我认为您需要设置委派以将会话凭据传递给I

我正在使用Visual Studio web安装项目来安装扩展project Server功能的应用程序。我想从我的安装项目的一个自定义操作从PSI(Project Server接口)调用一个方法,但每次都会出现“401 Unauthorized access”错误。我应该怎么做才能访问PSI?从控制台应用程序使用相同的代码时,不会出现任何问题。

在控制台情况下,您运行的是当前用户凭据,可以访问PSI。当从web运行时,它将使用IIS应用程序实例的凭据运行。我认为您需要设置委派以将会话凭据传递给IIS应用程序,或者为您的IIS应用程序使用一些可以访问PSI的静态凭据。

我终于找到了答案。您可以调用LoginWindows PSI服务,并使用适当的用户、密码和域令牌将凭据设置为NetworkCredentials。然后,您可以调用任何PSI方法,只要凭证是显式的。否则,使用DefaultCredentials将出现未经授权的访问错误,因为msi是使用本地系统帐户运行的。

我不是从web上运行任何东西,而是从msi内部运行的安装程序自定义操作调用该方法。