欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

Windows Update 为什么将 Windows 识别为 Macintosh

最近在新闻组中看到 N 多人都遇到了一个奇怪的问题。当他们试图连接 Windows Update 时,Windows Update 突然自动转向了:
 
 
并显示如下提示(如附件的截图所示):
 
“该网站设计为仅与 Microsoft Windows 操作系统一起使用,要查找设计用于 Macintosh 操作系统的 Microsoft 产品的更新程序,请访问 http://www.microsoft.com/mac”。
 
好端端的 Windows 竟然被当做 Mac,真是令人哭笑不得。这到底是怎么回事呢?
 
如果遇到这样的问题,首先要确认一下自己的 Windows 是不是正版、能否通过正版验证,盗版 Windows 是无法解决的;其次要检查是否安装过某些可能会修改系统文件的软件,例如 Vista Transformation Pack 等,系统文件修改得过多,也容易引起这类问题。
 
有的人可能会说:我的 Windows 既不是盗版、也没有修改过任何系统文件,为什么也会遇到这样的问题呢?这就是该问题的第三种可能原因:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform 注册表项损坏或配置不正确。
 
当我们访问 Windows Update 时,Windows 会将 User Agent 的部分数据放在 IE 的请求中,其中即包含当前操作系统的版本信息。如果我们使用网络数据包捕获工具(例如 SmartSniff 等)捕获并查看数据包,可以看到当前 Windows 及 MSIE 的版本号信息。有时当我们访问一些特定的第三方站点时,站点会自动标明“您正在使用的 Windows 版本是 XXX、浏览器版本是 MSIE XX”这样的信息,就是因为这个原因。
 
经过微软工程师李佳的指点(在此向李工表示感谢),在 IE 向 Windows Update 发送的网络数据包中,有关当前操作系统版本的信息必须被放置在数据包的第一至第四位,如果代表操作系统版本的信息被放置在了第五位或更后,Windows Update 就会无法识别 Windows 的版本,并出现之前所述的建议访问 http://www.microsoft.com/mac 的错误提示。那么什么原因会引起操作系统版本信息被放置在第五位或更后呢?就是在 User Agent\Post Platform 这个注册表项中添加了太多由第三方软件建立的注册表项,例如“Mozilla”、“MSN 2.6”等等。
 
在 Windows 的默认设置中,我们在 User Agent\Post Platform 注册表项中看到的应该只有关于 .net Framework 及 Media Center、Tablet PC(Tablet PC 仅限 Windows XP Tablet PC Edition 2005)的信息,例如 .NET CLR 2.0.50727、Media Center PC 5.0、Tablet PC 1.7 等等。假如我们在 User Agent\Post Platform 中看到很多第三方软件添加的注册表项,同时 Windows Update 又出现了 Windows 变 Mac 的问题,那么这些第三方注册表项可能就是“罪魁祸首”。如果遇到这样的问题,我们可以将 User Agent\Post Platform 注册表项清空,重新启动 Windows 后可以自动重建;或者在 Windows Update 一切正常时事先备份一下 User Agent\Post Platform 注册表项、导出为 .REG 文件,出现问题后双击导入 .REG 文件进行恢复即可。

评论通知

如果您想在帖子更新时接到邮件通知,请先登录。这里

订阅帖子评论使用 RSS

评论

2008年1月25日 22:18 by wudixh

# re: Windows Update 为什么将 Windows 识别为 Macintosh

呵呵,还是兄弟你搞得透,我们当时接了这个case时为了最快解决,reset IE7后就没事了,所以也没研究为什么,哈哈,客户的时间就是金钱啊,不敢耽误,我们的电脑总也碰不到这么有趣的事,也好搞一下:)

2008年1月28日 11:32 by alx-zj

# re: Windows Update 为什么将 Windows 识别为 Macintosh

貌似这个问题与 Reset IE 没啥关系哈。

2008年2月11日 14:31 by Sakura

# re: Windows Update 为什么将 Windows 识别为 Macintosh

前辈好~~第一次到前辈这边留言~

那个问题还有一个可能性,这是因为Windows Update需要使用

BLOCKED SCRIPTnavigator.userAgent;

代码来检测操作系统信息~

如果浏览器的设置导致不能运行这个脚本~或者结果不正常~就有可能发生那个问题哦~

重置 IE7 之后脚本设置被重置了~所以有可能能解决这个问题~

谢谢~

2008年2月11日 19:57 by liky

# re: Windows Update 为什么将 Windows 识别为 Macintosh

我的电脑也有这个问题,但是没有HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform 这个键值,\5.0后就没有user agent了。我重置了ie 6,也不管用,怎么办啊? 谢谢!

2008年2月12日 12:46 by alx-zj

# re: Windows Update 为什么将 Windows 识别为 Macintosh

谢谢 Sakura 的补充,能否说得详细一些?例如浏览器的什么设置会阻止运行脚本?

2008年2月12日 12:47 by alx-zj

# re: Windows Update 为什么将 Windows 识别为 Macintosh

liky,请尝试手动恢复一下注册表项。从另一台计算机中导出注册表项为 .REG 文件,复制并导入到你的计算机。

2008年2月20日 21:33 by Sakura

# re: Windows Update 为什么将 Windows 识别为 Macintosh

Alexis 前辈不好意思~最近尝试了一下但是找不出原因来ToT因为 Sakura 遇到过有大哥哥的电脑出现过这个问题,当时也不知道是从那个网站上看到说用那段 JavaScript 脚本测试一下,果然出问题了(运行之后什么内容也没有,按道理应该就是 UserAgent 里面的那些项目才对)。然后重置一下 IE7 问题就消失了。到现在 Sakura 也没有再有机会遇到过这个问题,尝试调整了一些安全性设置,貌似都被 Windows Update 网站检查出来了……

Alexis 前辈也帮忙找找原因吧~Sakura 也会继续尝试~

谢谢前辈~

2008年2月20日 23:49 by alx-zj

# re: Windows Update 为什么将 Windows 识别为 Macintosh

OK,如果我们能够重现这个问题,希望将它研究得更透。

2008年2月21日 22:05 by Sakura

# re: Windows Update 为什么将 Windows 识别为 Macintosh

请问 Alexis 前辈有没有个人邮箱或者别的联系方式?在前辈的 BLOG 上不太方便向前辈请教问题。

谢谢前辈~

2008年2月22日 12:31 by alx-zj

# re: Windows Update 为什么将 Windows 识别为 Macintosh

Hi,Sakura。推荐访问微软中文新闻组:news://msnews.microsoft.com http://www.microsoft.com/china/community/Newsgroup/NGIntro.mspx 微软中文技术论坛:http://forums.microsoft.com/china/default.aspx?siteid=15

2008年2月22日 21:14 by Sakura

# re: Windows Update 为什么将 Windows 识别为 Macintosh

Alexis 前辈好,新闻组论坛 Sakura 一般潜水,也发过一些帖子(ID也是“Sakura”),不过新闻组上很多时候帖子很少有人回复,如果给前辈发邮件的话,大概前辈一定会回应的吧^^

请前辈多多指教啦

2008年2月22日 23:27 by alx-zj

# re: Windows Update 为什么将 Windows 识别为 Macintosh

新闻组的帖子,只要我会的基本都回。邮件基本上不回哈,请见谅。

2008年4月16日 0:10 by 新的一天

# re: Windows Update 为什么将 Windows 识别为 Macintosh

可以在注册表里删掉HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent  就可以进入Windows Update,不会转向拉 也可以用命令 开始运行 reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\" /f  

说说您的看法?

(必填) 
必填 
(必填)