从 msi 安装程序调用 Project Server 界面 Web 方法

Call Project Server Interface web method from an msi installer

提问人:kjv 提问时间:8/22/2008 最后编辑:rahul singh Chauhankjv 更新时间:7/12/2018 访问量:531

问:

我正在使用 Visual Studio Web 安装项目来安装扩展 Project Server 功能的应用程序。我想从我的安装项目的自定义操作之一的 PSI(Project Server 接口)调用方法,但每次都出现“401 未经授权的访问”错误。我应该怎么做才能访问PSI?从控制台应用程序使用相同的代码时,可以毫无问题地工作。

Windows-Installer 方法 操作

评论


答:

3赞 Christopher Scott 8/23/2008 #1

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

评论

0赞 kjv 8/23/2008
我没有从 Web 运行任何内容,而是从从 msi 内部运行的安装程序自定义操作调用该方法。
2赞 kjv 9/2/2008 #2

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