ClickOnce 部署中的服务器配置问题

ClickOnce 部署中的服务器配置问题

如果在 Windows Server 2003 上使用 Internet 信息服务 (IIS),并且部署中包含 Windows 不识别的文件类型,如 Microsoft Word 文件,则 IIS 将拒绝传输该文件,因而部署无法成功完成。

另外,在某些 Web 服务器和 Web 应用程序软件(如 ASP.NET)中会包含一组无法下载的文件和文件类型。例如,ASP.NET 阻止下载所有 Web.config 文件。这些文件可能包含敏感信息,例如,用户名和密码。

尽管此限制不会对 ClickOnce 核心文件(如清单和程序集)的下载造成任何问题,但它可能会妨碍您下载作为 ClickOnce 应用程序一部分而提供的数据文件。在 ASP.NET 中,从 IIS 配置管理器中移除此处理程序可以解决此错误。有关其他详细信息,请参见 IIS 服务器文档。

ClickOnce 和安全套接字层 (SSL)

ClickOnce 应用程序将在安全套接字层上正常工作,除非 Internet Explorer 显示一个关于 SSL 证书的提示。该提示会在证书出问题时显示,例如,当站点名称不匹配或证书已过期时。若要使 ClickOnce 在 SSL 连接上工作,请确保证书是最新的,并且证书数据与站点数据匹配。

其他服务器配置问题

所需的管理员权限

如果使用 HTTP 发布,您必须对目标服务器具有管理员权限。IIS 需要此权限级别。如果不使用 HTTP 发布,则只需具备目标路径上的写权限。

服务器身份验证问题

向关闭了“匿名访问”的远程服务器发布时,您将收到下面的警告:

"The files could not be downloaded from http://<remoteserver>/<myapplication>/.  The remote server returned an error: (401) Unathorized."
Note注意

如果站点提示您提供默认凭据之外的凭据,可以让 NTLM(NT 质询-响应)身份验证工作,然后在提示是否要保存提供的凭据以供将来的会话使用时,在安全对话框中单击“确定”。但是,此解决方法对于基本身份验证无效。

使用第三方 Web 服务器

如果要从 IIS 以外的 Web 服务器部署 ClickOnce 应用程序,而该服务器为关键 ClickOnce 文件(如部署清单和应用程序清单)返回不正确的内容类型,则可能遇到问题。若要解决这个问题,请参见 Web 服务器帮助文档中关于如何向服务器添加新内容类型的信息,并确保下表列出的所有文件扩展名映射都准备就绪。

文件扩展名内容类型

.application

application/x-ms-application

.manifest

application/x-ms-manifest

.deploy

application/octet-stream

不支持 FTP 协议

ClickOnce 支持从任何 HTTP 1.1 Web 服务器或文件服务器上安装应用程序。FTP(即文件传输协议)不受支持。可以使用 ftp:// URL 发布应用程序,但必须使用 http://、https:// 或 file:// URL 执行安装。

Windows XP SP2:Windows 防火墙

默认情况下,Windows XP SP2 启用 Windows 防火墙。如果在安装有 Windows XP 的计算机上开发应用程序,仍能从运行 IIS 的本地服务器发布和运行 ClickOnce 应用程序。但是,除非您打开 Windows 防火墙,否则您无法从其他计算机访问运行 IIS 的服务器。若要管理 Windows 防火墙,请参见“Windows 帮助”以获得说明。

Windows Server 2003:启用 FrontPage 服务器扩展

将应用程序发布到使用 HTTP 的 Windows Web 服务器需要 Microsoft 的 FrontPage 2002 服务器扩展。

默认情况下,Windows Server 2003 不安装 FrontPage 2002 服务器扩展。如果希望使用 Visual Studio 发布到通过 FrontPage 2002 服务器扩展使用 HTTP 的 Windows Server 2003 Web 服务器,您必须先安装 FrontPage 2002 服务器扩展。您可以使用 Windows Server 2003 中的“管理您的服务器”管理工具执行该安装。

HTTP 压缩问题

通过 ClickOnce,可以执行使用 HTTP 压缩的下载,HTTP 压缩是一种 Web 服务器技术,它使用 GZIP 算法压缩数据流,然后将流发送到客户端。客户端(在本例中为 ClickOnce)在读取文件之前先对数据流进行解压缩。

如果您使用 IIS,则可以轻松启用 HTTP 压缩。但是,启用 HTTP 压缩时,它只是针对某些文件类型(即 HTML 和文本文件)启用。若要对程序集 (.dll)、XML (.xml)、部署清单 (.application) 和应用程序清单 (.manifest) 启用压缩,必须首先将这些文件类型添加到 IIS 的压缩类型列表中。在您将这些文件类型添加到部署前,将只压缩文本和 HTML 文件。

有关 IIS 的详细说明,请参见 MSDN Online 知识库中的文章“HOWTO: Specify Additional Document Types for HTTP Compression”(如何:为 HTTP 压缩指定其他文档类型) (http://support.microsoft.com/default.aspx?scid=kb;en-us;234497)。

请参见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值