2007/03/19

Skype 导致 IIS 发生 0x8ffe2740 错误

今天为了调试一个 ASP 应用程序,启动了 IIS 服务(平时为节省资源,此服务没有自动启动)。不料在 Internet Information Services 的 MMC 控制台,发现唯一的站点被打了个红叉。手动启动站点,IIS 立即报告错误:

Unexpected error 0x8ffe2740 occurred.

怎么回事?提示信息并未给出详细错误原因。打开 Event Viewer, System 目录有个 Source 为 W3SVC 的 115 错误事件,事件描述中提到:

The service could not bind instance 1.

看来是站点端口被其他进程占用了。运行 netstat -an, 果然 0.0.0.0:80 被占用,通过 SysinternalsTCPView 小工具,发现 80 端口居然被 Skype 占用!真是晕,Skype 来凑这个热闹干嘛?

进入 Skype 的 Options 查看,果然在 Connection 中有关于使用 80 和 443 端口的选项:

use port 80 and 443 as alternatives for incoming connections

呵呵,想必 Skype 默认这么做是为了更容易穿透防火墙。So, 简单地清除这个复选框,然后 restart Skype 就行了。

2007/03/14

如何在英文系统中打开中文CHM文档

如果你使用英文版 Windows 操作系统,经常会遇到的一个问题是,系统在打开某些中文 .chm 文档时会弹出错误对话框:

cannot open chm file

通常建议的解决办法是:将 Regional and Language Options 中的 Standards and formats 设置为 Chinese (PRC). 即通过将当前的区域环境设为简体中文。

但是这样做会影响是全局性的——其他程序也将在简体中文的上下文环境中工作——这可能并不是你所希望的。现在,有另一个办法可以解决此问题(无需修改区域设置):简单地把 .chm 文档的文件名改成英文,而不是包含汉字的文件名。

2007/03/10

解决 MSN 登录失败问题 (错误代码 80048820)

症状 (SYMPTOMS)

最近已经多次看到有人问为什么他的 Windows Live Messenger 无法登录(已经确保网络没有问题,系统时间也正确),返回错误代码为 0x80048820.

原因 (CAUSE)

大多数情况下,出现这个问题的原因是在 MSN 使用 SSL 登录 Live Passport 时,某个站点的证书状态不正常,导致连接被阻塞 (blocked), 因而出现类似超时的错误。

解决办法 (SOLUTION)

打开 “Internet 选项” (Internet Properties) 对话框,切换到“高级” (Advanced) 选项卡,在“安全” (Security) 分类中,取消“检查服务器证书吊销”复选框 (Uncheck Check for server certificate revocation).

更多 (MORE)

取消这个选项可能带来潜在的安全风险,目前只能等待 Microsoft 发现并自行解决这个问题。