贵州省城乡规划条例:Alexis Zhang's Blog 5

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 04:20:22

  笔者前几天被一个看似简单的问题给问住了:我们知道,扩展名最后一位是下划线 _ 的文件是一种经过压缩的文件,必须通过 EXPAND 或 EXTRACT 命令将其还原。例如执行:EXPAND \i386\SHELL32.DL_ SHELL32.DLL 可以从 Windows 安装程序中将 SHELL32.DL_ 还原为 SHELL32.DLL。那么 EXPAND 命令的相反命令是什么呢?即如何将一个正常的文件压缩为扩展名的最后一位是下划线的这种格式呢?   这个问题最早是新闻组中一位仁兄问起如何更换 Windows XP 的默认墙纸。众所周知,刚安装好的 Windows XP 默认使用的是那副曾经被人传说包含有“WHG KILL ME”惊天大秘密的蓝天白云墙纸 BLISS.JPG,BLISS.JPG 的源文件就是位于 i386 中的 BLISS.JP_。如果我们希望刚安装好的 Windows XP 使用另一副默认墙纸,应该如何将其压缩为 BLISS.JP_ 并替换 i386 中的源文件呢?   除了这个问题,笔者前不久又看到了一家 OEM 厂商制作的 OEM 版 Windows 安装启动镜像,由于镜像中的安装源文件夹名称没有采用默认的文件夹名,必须要修改 TXTSETUP.SIF 中的字符串 SetupSourcePath 以重新指定安装源文件夹名,否则安装镜像将无法正常引导。笔者起初也不太清楚 OEM 厂商是如何将修改好的 TXTSETUP.SIF 重新压缩为 TXTSETUP.SI_ 并复制到 i386 文件夹中的。   经在线合作伙伴工程师马宁指点,EXPAND 的相反命令原来是 COMPRESS,这个命令包含在 Windows 2000/Server 2003 的 Resource Kit 中,需要从 Resource Kit 单独获取。COMPRESS 命令的用法与 EXPAND 基本相似,基本格式为:   COMPRESS 源文件名 目标文件名(例如 COMPRESS C:\Windows\system32\SHELL32.DLL D:\i386\SHELL32.DL_)   或者:   COMPRESS -R 源文件名   -R 是 COMPRESS 的基本参数,意为将源文件压缩并重命名为扩展名最后一位下划线的这种格式,使用它就可以不用再指定目标文件名了。   此外,COMPRESS 命令还有几个常用的参数:   -D:用于目标发生改变的文件; -ZX:使用 Lempel-Ziv(LZX)压缩方式,可以将压缩包最多减小至 18% 的体积并将自解压速度提升至将近 50%; -Z:使用 MS-ZIP 压缩方式,实际就是 .CAB 采用的压缩格式; -ZQ [ N ]:N 是取值 1 至 7 的数字,表示压缩比,例如 -ZQ5,其中 1 表示速度最快、7 表示压缩比最大,如果不指定这个参数,将使用默认的 LEVEL 4 中等级别。   为了证实上述问题,笔者对照那张 OEM 厂商制作的 OEM 启动镜像自制了一个 Windows XP SP3 的启动安装镜像,同样不采用默认源文件夹名称,而是将 TXTSETUP.SIF 中的 SetupSourcePath 修改之后,使用 COMPRESS 将其压缩为 TXTSETUP.SI_ 并替换 i386 中的源文件;接着,笔者又将 Windows Vista 的 AURORA.JPG 极光墙纸重命名为 BLISS.JPG、使用 COMPRESS 压缩为 BLISS.JP_ 并替换 i386 中的源文件;最后,笔者还将 Windows XP SP3 的并发连接破解补丁与视觉样式破解补丁文件 TCPIP.SYS 与 UXTHEME.DLL 也使用 COMPRESS 压缩并替换 i386 中的源文件(关于并发连接破解补丁与视觉样式破解补丁可以参考笔者较早前的一篇博客《Windows XP SP3 版并发连接破解补丁与视觉样式破解补丁》)。   接下来笔者启动虚拟机,以这份经过三处改动的启动安装镜像安装 Windows XP,整个安装过程没有任何错误,证明 Windows 安装程序可以正确识别并解压缩笔者用 COMPRESS 压缩的那三个文件,预期的三个目的也全部实现了:1.根据 TXTSETUP.SIF 提供的信息在自定义的文件夹中找到安装程序源文件;2.安装好的 Windows XP 默认墙纸变成了 Windows Vista 的 Aurora 极光墙纸,尽管文件名依然还是 BLISS.JPG;3.安装好的 Windows XP 使用了经过破解的 TCPIP.SYS 与 UXTHEME.DLL,可以直接突破并发连接限制并使用第三方的视觉样式了。   总之,COMPRESS 与 EXPAND 就是一对压缩与解压缩孪生兄弟,一个可以方便修改 Windows 安装程序源、一个可以方便从 Windows 安装程序源提取文件。在没有安装其它第三方压缩软件的时候,COMPRESS 与 EXPAND 也可以实现一些简单的压缩与解压缩工作。 发表于 作者 alx-zj | 13 评论 归档在:WindowsXP/Server2003及早期版本的Windows 2008年9月1日 17:30

关于 Windows XP SP3 可能无法卸载 IE 8 Beta 2 的进一步总结

过去的一周大家谈论的焦点之一就是新发布的 IE 8 Beta 2 浏览器。关于 IE 8 Beta 2,cnBeta、驱动之家等很多网站都转载了来自 MSDN IE Blog 八月的一则声明《Windows XP SP3 用户可能无法卸载 IE 8 Beta 2》。

由于 MSDN IE Blog 之前在五月份已经就这个问题发表过一则声明《
Internet Explorer and Windows XP SP3》,所以这一次没有对这个问题产生的原因进行详细解释,而网上转载的文章大多也只是简单地文字翻译,没有对原因进行进一步阐述,因此很多用户纷纷提出了各种疑问:“为什么我的 Windows XP SP3 就可以卸载 IE 8 Beta 2” 等等。

要想彻底弄清楚这个问题,我们首先需要明确两个概念:

1. IE 做为 Windows 捆绑的浏览器,它分为系统内置的版本与独立安装的版本。例如对 Windows Vista/Server 2008 而言,IE 7 是内置的版本、IE 8 是独立的版本;对 Windows XP/Server 2003 而言,IE 6 是内置的版本、IE 7 与 IE 8 均是独立的版本。

2. 所有内置版本的 IE 都会随着 Windows Service Pack 版本的变化而变化,而独立版本的 IE 则不受 Service Pack 版本的影响。例如,IE 6 for Windows XP 做为内置版本的 IE,它会根据 Windows XP Service Pack 的版本变化细分为 IE 6 SP1、IE 6 SP2、IE 6 SP3 等诸多版本,而做为独立版本的 IE 7/8 for Windows XP,其版本则不会随着 Windows XP Service Pack 的变化而变化。

明确了这两个概念之后,下面我们再来看 MSDN IE Blog 五月份的说明:假如用户先安装了 IE 7/8、后安装了 SP3,那么你将无法卸载 IE 7/8 恢复 IE 6。这是由于 IE 7/8 在安装时会自动备份 IE 6 的文件以备日后恢复。在你安装 SP3 之前,安装程序备份的是 IE 6 SP2 的文件。那么,当你安装 SP3 后,如果再试图卸载 IE 7/8,理论上 Windows 会将之前备份的 IE 6 SP2 文件恢复到系统中。但由于现在 Windows XP 已经变成了 SP3,不可以再将 IE 6 SP2 恢复到 Windows XP SP3 系统中,因此 Windows 将自动阻止这一做法,控制面板-添加删除程序中的卸载 IE 7/8 选项将会失效。
  (笔者注:在上述卸载选项失效的例子中,虽然我们无法通过控制面板-添加删除程序卸载 IE 7/8,但经过笔者测试,如果手动执行 Windows\ie7(ie8)\SPUNINST\SPUNINST.EXE 还是可以启动卸载程序的。虽然卸载程序会提示可能会对后安装的 SP3 产生影响,但依然可以完成卸载操作。笔者用这种方法在 Windows XP SP3 系统中还原了 IE 6 SP2,而且可以运行,但执行 SFC 时会提示 IE 的有关文件版本有问题。这个特殊现象应该解释为 IE 卸载程序的 BUG。)

反过来说,假如我们是先安装 SP3、后安装 IE 7/8 的,那么 IE 7/8 在安装时自动备份的将是 IE 6 SP3 的文件,日后卸载 IE 7/8 时,将 IE 6 SP3 恢复到 Windows XP SP3 系统中自然不会有何问题。因此,如果我们是先安装 SP3、后安装 IE 7/8 的,控制面板-添加删除程序中的卸载 IE 7/8 选项将不会失效。

在了解了 MSDN IE Blog 五月的声明后,我们再来看一下八月的这份针对 IE 8 Beta 2 的最新声明。假如我们之前按照先 IE 8 Beta 1 后 SP3 的顺序安装,那么 IE 8 Beta 1 卸载选项将失效,原因如前面所述。此时如果我们继续安装 IE 8 Beta 2,IE 8 Beta 2 也将“继承”IE 8 Beta 1 卸载选项失效的特性而无法卸载、同时会导致 SP3 也将无法卸载。
  反过来说如果我们是先安装 SP3 后安装 IE 8 Beta 1 的话就不会遇到卸载选项失效的问题。因此,MSDN IE Blog 在八月的声明中建议那些先安装 IE 8 Beta 1 后安装 SP3 的用户,为了避免问题建议首先卸载 SP3、再卸载 IE 8 Beta 1,然后按照先 SP3 后 IE 8 Beta 2 的顺序重新安装。   以上所述都是从 IE 6 直接升级 IE 8 产生的情况。但笔者之前在四月十日写过一篇博客《IE 8、IE 7 for Windows XP/Server 2003 的连环卸载》一文中曾经提到,由于 IE 7、IE 8 针对 Windows XP/Server 2003 而言都是独立版本的 IE,所以它们可以进行连环卸载,即首先从 IE 6 升级为 IE 7、接着升级为 IE 8,然后执行二次连环卸载。那么,因为 Service Pack 的版本差异引起 IE 卸载选项失效的情况会不会影响到连环卸载呢?   笔者专门对这个问题进行了一次测试:在 Windows XP SP2 系统中首先安装 IE 7、然后安装 SP3,由前面的叙述可知,以这样的顺序安装 IE 7 的卸载选项将失效。但是,当笔者在 IE 7 的基础上继续安装 IE 8 时,IE 8 并不会“继承”IE 7 卸载选项失效的特性,我们可以随时卸载 IE 8 恢复 IE 7。这是由于 IE 7、IE 8 均是独立安装的 IE 版本,所以从 IE 7 升级 IE 8 时不会受到 Service Pack 影响。   看到这里大家可能会觉得非常混乱,笔者也觉得很混乱、一想这个问题很容易把头想大。为了简单起见,笔者总结一下从 IE 8 Beta 1 升级至 IE 8 Beta 2 的四种可能情况。假如你的系统是 Windows XP SP3 并且已安装了 IE 8 Beta 1、现在打算升级至 IE 8 Beta 2,可以按照这四种情况进行参考:   1.我没有安装过 IE 7、IE 8 Beta 1 是从 IE 6 升级而来、并且 SP3 的安装早于 IE 8 Beta 1:    这种情况不会遇到任何问题,可以直接安装 IE 8 Beta 2。   2.我没有安装过 IE 7、IE 8 Beta 1 是从 IE 6 升级而来、但是 SP3 的安装晚于 IE 8 Beta 1:    这种情况 IE 8 Beta 1 的卸载将失效,如果继续安装 IE 8 Beta 2,IE 8 Beta 2 卸载也将失效,而且会导致 SP3 也无法卸载。按照 MSDN IE Blog 八月份的建议,这种情况应该先卸载 SP3、再卸载 IE 8 Beta 1,然后按照先 SP3 后 IE 8 Beta 2 的顺序重新安装。   3.我安装过 IE 7、并且 SP3 的安装早于 IE 7、IE 8 Beta 1 是从 IE 7 升级而来:   这种情况也不会遇到问题,可以直接安装 IE 8 Beta 2,而且可以按照笔者的博客《IE 8、IE 7 for Windows XP/Server 2003 的连环卸载》一文所述对 IE 8 Beta 2、IE 7 进行连环卸载。   4.我安装过 IE 7、但是 SP3 的安装晚于 IE 7、IE 8 Beta 1 是从 IE 7 升级而来:   这种情况 IE 7 的卸载将失效,但 IE 8 的卸载不受影响。如果继续安装 IE 8 Beta 2,日后可以卸载 IE 8 Beta 2 恢复 IE 7,但不能继续卸载 IE 7 恢复 IE 6。如果想恢复 IE 6,应该首先卸载 IE 8 Beta 1 恢复 IE 7,然后先卸载 SP3、再卸载 IE 7,最后再按照先 SP3 后 IE 7、再 IE 8 Beta 2 的顺序重新安装。   HOHO,写到这里笔者的头已经很大了,上述总结可能有不正确的地方(笔者已经针对几种情况分别进行过测试,如果还有错误的话就是笔者自己绕糊涂了,呵呵)。 发表于 作者 alx-zj | 3 评论 归档在:WindowsXP/Server2003及早期版本的Windows, 网络(IE/Mail/Messenger等)应用技巧 2008年8月12日 13:30

Windows XP 的 MSCONFIG.EXE 引起 BOOT.INI 中文字符丢失的 BUG

前几天新闻组中有位仁兄发现了中文版 Windows XP 内置的 MSCONFIG.EXE 系统配置实用程序一个奇怪的问题。这位老兄的 BOOT.INI 配置文件的内容为:

[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /fastdetect /usepmtimer /NoExecute=OptOut
C:\BOOT\BOOTDISK.bin="由虚拟启动软盘启动"

在 Windows XP 中运行 MSCONFIG.EXE,切换至 BOOT.INI 选项卡,未做任何修改点击“确定”退出,再打开 BOOT.INI 发现已变为:

[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /fastdetect /usepmtimer /NoExecute=OptOut
C:\BOOT\BOOTDISK.bin="由虚拟启动

BOOT.INI 丢失了若干中文字符。
  笔者对此问题进行了多次测试,随便更换了其它一些中文字符,均发现有丢失字符的现象。而且,即使 BOOT.INI 设置了“只读”属性也不例外。

由于通过记事本手动编辑 BOOT.INI 不会遇到此问题,所以可以判定这是 MSCONFIG.EXE 的 BUG。

在微软官方发布解决方案之前,做为替代解决方法,我们可以通过如下方式避免遇到此问题:

1.在 BOOT.INI 中不使用中文字符。

经笔者观察,如果 BOOT.INI 不使用中文字符则不会遇到此问题,可以放心使用 MSCONFIG.EXE。

2.通过其它方式编辑 BOOT.INI。

如果觉得通过记事本手动编辑 BOOT.INI 容易出错误,我们可以使用其它软件代替 MSCONFIG.EXE 编辑 BOOT.INI:

(1).在控制面板中打开“系统”属性,切换至“高级”选项卡,点击“启动和故障恢复”。但这里的功能略显简单,只能选择默认操作系统选项及设置启动菜单等待时间,不能直接修改启动选项名称(只提供间接调用记事本打开 BOOT.INI 的“编辑”按钮)。

(2).使用 BOOTCFG 命令。BOOTCFG 是一个基于命令行的 BOOT.INI 编辑工具,一共拥有两种启动方式,一是在 CMD 命令提示符启动、二是在 Windows 故障恢复控制台启动。需要注意的是,两种版本的 BOOTCFG 可以使用的参数并不完全相同。CMD 中的 BOOTCFG 我们可以在 CMD 中执行 BOOTCFG /? 查看其参数说明;故障恢复控制台中的 BOOTCFG 我们可以参考微软知识库文章 KB291980:
http://support.microsoft.com/kb/291980/

(3).使用超级兔子、优化大师等第三方软件,编辑 BOOT.INI 都是这些优化软件的必备功能之一。

3.将 Windows Server 2003 的 MSCONFIG.EXE 复制到 Windows XP 使用。

经笔者观察,Windows Server 2003 自带的 MSCONFIG.EXE 并没有 Windows XP 的丢失中文字符的问题,这是一个 Windows XP 专有的 BUG。因此,我们可以将 Windows Server 2003 内置的 MSCONFIG.EXE 复制到 Windows XP 中使用。

需要注意的是,Windows XP SP3 及 Windows Server 2003 SP2 提供的最新版的 MSCONFIG.EXE 均提供了一个额外的“工具”选项卡,如附件的截图所示,里面可以调用很多常用的系统工具,旧版的 MSCONFIG.EXE 没有“工具”选项卡,因此我们复制 Windows Server 2003 的 MSCONFIG.EXE 时最好选择 Windows Server 2003 SP2 的版本。
发表于 作者 alx-zj | 2 评论 归档在:WindowsXP/Server2003及早期版本的Windows
Attachment(s): MSCONFIG 新增的选项卡.JPG 2008年8月4日 12:50

多核心 CPU 计算机运行仅支持单核 CPU 旧版程序的四种方法

(注:本文已发表于《电脑爱好者》杂志 2008 年 17 期)    前几天在新闻组中看到有位仁兄问起多核心 CPU 计算机中无法顺利运行旧版游戏《极品飞车 3》的问题。尽管双核 CPU 如今已经非常普及了,就连三核、四核 CPU 也已开始走入我们的生活。然而如今在 Windows 系统平台依然有很多旧版应用程序、特别是旧版的游戏不支持多核心 CPU。有的程序虽然可以运行,但只能有效利用多核心 CPU 的其中一个核心;还有的程序在多核心方式下更是连运行都不能运行,只能以单核方式运行。《极品飞车 3》在多核心 CPU 计算机中运行就经常死机或出错退出。

对于这种不支持多核心 CPU 的旧版程序,一般有四种方法使其顺利运行:

1.如果应用程序在多核心的方式下可以运行起来,我们可以打开任务管理器,在“进程”选项卡中右键单击应用程序的进程,在右键菜单中选择“关系设置”,打开“处理器关系”对话框,将不需要的 CPU 核心复选框取消、只保留一个 CPU 0 核心,即可令这个进程以一个核心的方式运行。

2.如果觉得每次启动旧版程序时都需要修改任务管理器有些麻烦,我们可以为 Windows XP 添加启动参数,令 Windows XP 以一个 CPU 核心方式启动。执行 MSCONFIG.EXE 启动系统配置实用程序,切换至“BOOT.INI”选项卡点击“高级选项”,选择“/NUMPROC”复选框,将其值设置为 1,如附件的截图所示。这样即可在 Windows XP 的 BOOT.INI 启动配置文件中加上 /NUMPROC,强制 Windows XP 只使用一个 CPU 核心。不过,这样会影响到 Windows XP 及所有应用软件。

如果是 Windows Vista 系统,在 MSCONFIG.EXE 系统配置实用程序中切换至“启动”选项卡点击“高级选项”,选择“处理器数”复选框,将其值设置为 1。

3.某些较新的主板 BIOS 提供了在 BIOS 设置中屏蔽 CPU 核心的选项。我们可以参考主板说明书,在主板 BIOS 设置中打开 Performance 选项,查找形如 Disable Multi-CPU Core 的选项,也可以将 CPU 核心屏蔽,以单核方式运行。

需要注意的是,如果通过 BIOS 设置屏蔽 CPU 核心,重新启动后 Windows 可能会认为 CPU 发生变化,可能会提示我们重新激活 Windows 或重新配置驱动程序信息库。因此如果要采用这种方法,建议首先通过控制面板-系统-硬件,备份一下以多核心方式运行的硬件配置文件,日后需要重新开启多核心时可以直接恢复之前备份的硬件配置文件。

4.我们还可以通过 Microsoft Virtual PC 虚拟机运行不支持多核心的旧版操作系统及应用程序。由于 Virtual PC 虚拟机本身只能利用一颗 CPU 核心,因此虚拟机中的操作系统及应用程序均以单核方式运行,通过 Virtual PC 虚拟机运行不支持多核心的旧版应用程序自然不会有任何问题。
发表于 作者 alx-zj | 5 评论 归档在:WindowsXP/Server2003及早期版本的Windows, Windows7/Vista/Server2008
Attachment(s): MSCONFIG 限制处理器数.JPG 2008年8月1日 13:45

Pocket PC 视觉样式自定义工具 Theme Generator v2

Windows Mobile Professional for Pocket PC 视觉样式文件扩展名为 .TSK,定义了 Pocket PC 视觉样式主题的“今日”屏幕背景、“开始”菜单背景、导航工具栏颜色、通知工具栏颜色、信息对话框颜色等等。通过 Pocket PC 的“开始”菜单-设置-今日,直接加载已有的 .TSK 文件,我们即可直接应用 Pocket PC 视觉样式主题,省却了逐一修改的步骤。   很多 Pocket PC 手机发烧友应该知道微软官方发布的 Theme Generator v2 视觉样式自定义工具,它可以制作或修改 .TSK 视觉样式文件。我们可以在微软网站免费下载:   http://www.microsoft.com/downloads/details.aspx?FamilyID=49216f63-20e9-4cdb-8bda-ce445260c0a9&DisplayLang=en   在 Windows 中的安装也非常简单。   启动 Theme Generator v2 后我们可以选择制作新的视觉样式、修改已有的视觉样式或在 PocketPC.com 搜索视觉样式。通过 Theme Generator v2 提供的向导我们可以逐一设置“今日”屏幕背景、“开始”菜单背景、所有界面元素的颜色,最后选择保存 .TSK 文件并复制到 Pocket PC 手机即可,整个过程非常简单。另外在向导的每一个步骤,我们都可以通过 Theme Generator v2 提供的预览窗口对修改的效果进行预览,如附件截图所示。   虽然 Theme Generator v2 的版本有些旧了,预览窗口采用的还是 Windows Mobile 2002 的样式,但是 Theme Generator v2 制作的 .TSK 文件对 Windows Mobile 6 依然有效。例如,Windows Mobile 6 的导航栏采用了一种两边颜色深、中间颜色亮,同时纵向还有颜色渐变的双重渐变效果,不再是 Windows Mobile 2002 那种从左(颜色 1)向右(颜色 2)的单一颜色渐变。因此我们在 Theme Generator v2 中修改导航栏(Navigation Bar)时便无需修改“颜色 2”了,只需设置好“颜色 1”,Windows Mobile 6 就可以根据“颜色 1”的主颜色自行计算出横纵双重颜色渐变的效果。笔者在自己的 HTC Touch Diamond(多普达 S900 钻石)、Windows Mobile 6.1 系统中测试通过,Theme Generator v2 制作的 .TSK 视觉样式依然有效。这或许也是 Theme Generator v2 一直没有升级版本的原因吧。   除了 Pocket PC 外,Theme Generator 也有适用于 SmartPhone 的版本:   http://www.microsoft.com/downloads/details.aspx?FamilyID=1d9f75aa-daa7-473c-a30f-cdc8c87ba75b&DisplayLang=en 发表于 作者 alx-zj | 0 评论 归档在:移动设备与WindowsMobile
Attachment(s): Theme Generator v2 截图.JPG 2008年7月20日 16:40

Windows Vista 文件与注册表虚拟化技术的常见问题

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年第 14 期收录为 MVP 推荐 Blog)    前几天在新闻组中看到有人问起 Windows Vista 的文件与注册表虚拟化技术,即为什么很多应该出现在 %ProgramFiles% 文件夹的程序会出现在 %LocalAppData%\VirtualStore 文件夹、为什么很多应用程序的注册表项会被映射到 HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore。这些都是受到了 Windows Vista 的文件与注册表虚拟化技术的影响。   Windows Vista 的文件与注册表虚拟化技术可以使某些在旧版 Windows 中必须要求管理员权限的应用程序以非管理员的权限运行,有助于提升系统安全性。Windows Vista 会为每个用户帐户分别建立一套应用程序所需的文件与注册表副本。例如,假设某应用程序需要以管理员权限添加 %Program Files%\程序名称\设置.INI,在使用非管理员权限时,此文件就会自动重定向至 Users\%用户帐户名%\AppData\Local\VirtualStore\Program Files\程序名称\设置.INI;注册表也是一样,假设应用程序需要以管理员权限修改 HKEY_LOCAL_MACHINE\SOFTWARE\程序名\,在使用非管理员权限时,此注册表项就会自动重定向至 HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore\MACHINE\Software\程序名\ 注册表项。本文附件的附图形象地说明了这一重定向(Redirect)的过程。   然而由于并非所有的应用程序都可以完美地支持 Windows Vista 的文件与注册表虚拟化技术,所以在实际应用中可能会遇到各种各样的疑难,常见的问题主要有:   1.某些应用程序可以以文件与注册表虚拟化方式运行,但需要重新定位通过此应用程序生成的文件。   假设某图像编辑程序可以以文件与注册表虚拟化方式运行,当我们在这个程序中将新图像文件保存至 %ProgramFiles%、%SystemRoot% 等位置后,通过资源管理器却无法在这些位置找到刚生成的文件。这时便可以到 Users\%用户帐户名%\AppData\Local\VirtualStore 文件夹搜索刚生成的文件。   2.某些应用程序可以以文件与注册表虚拟化方式运行,但其升级或卸载程序却不支持文件与注册表虚拟化。   这个问题常见于某些需要经常升级版本的旧版安全防护软件,这些安全软件能够以文件与注册表虚拟化方式运行,但在执行软件升级时却无法将更新的文件保存至 %LocalAppData%\VirtualStore 文件夹、也无法将更新的注册表项添加至 HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore。这时,就可能会引起升级失败,或者虽然提示升级成功、但软件版本并没有提升的问题。解决这一问题的方法是以管理员的身份将更新的新文件及新注册表项手动添加至 %LocalAppData%\VirtualStore 文件夹及 HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore 注册表项。   卸载的问题也是一样,某些应用程序虽然可以以文件与注册表虚拟化方式运行,但卸载时却无法自行删除 %LocalAppData%\VirtualStore 文件夹中的有关数据及 HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore 中的有关注册表项,这时便需要以管理员的身份手动执行清理。   3.某些应用程序必须安装在 %ProgramFiles% 中才可以支持文件与注册表虚拟化技术。   如果某应用程序安装在非 %ProgramFiles% 文件夹外的其它文件夹时无法应用虚拟化技术、在安装或使用过程中经常出错,请将其重新安装至 %ProgramFiles% 文件夹。部分应用程序只有安装在 %ProgramFiles% 文件夹时才能被 Windows Vista 文件与注册表虚拟化技术支持。   4.某些应用程序完全无法以文件与注册表虚拟化技术正常运行。   如果我们在安装、升级或使用应用程序时遇到 FileCreateVirtualExclude 事件,即在事件查看器展开“应用程序和服务日志”-“Microsoft”-“Windows”-“UACFileVirtualization”-“Operational”发现事件 ID 为 5000 的 FileCreateVirtualExclude 事件,则表示这个应用程序可能部分或者完全不支持文件与注册表虚拟化技术,必须以管理员权限才能在 Windows Vista 中运行。具体的表现有:无法建立或者找到程序所需的文件夹或文件、写入/复制/加密/压缩某文件夹或文件时出错、应用程序因为无法访问所需的数据而经常提示未知错误,等等。   对于这样的不支持文件与注册表虚拟化技术的程序,我们就没有什么办法了,只能右键单击程序快捷方式,选择“以管理员身份运行”;或者以管理员权限启动 CMD 命令提示符、然后通过命令提示符运行此程序。 发表于 作者 alx-zj | 1 评论 归档在:Windows7/Vista/Server2008
Attachment(s): Windows Vista 文件与注册表虚拟化技术示意图.JPG 2008年7月18日 11:20

分享:DIY 彩喷 SteelSeries 版 IntelliMouse Optical 红光鲨

著名游戏外设厂商 SteelSeries(赛锐、以下简称为 SS)曾联合微软推出过两款纪念版微软鼠标:一个是蓝黑色小号包装盒、黑色喷涂的 IntelliMouse Optical 红光鲨;另一个是普通包装盒加 SS 的标签、黑色喷涂的 IntelliMouse Explorer 3 复刻版,如下图所示。两款纪念版鼠标尾部都有 Microsoft SteelSeries,Professional Gaming Gear 的 LOGO。由于货源稀少,两款纪念版鼠标现在市场上都是天价了。     笔者上周在北京中关村闲逛时在鼎好 C2809 发现一批 DIY 的彩喷版 SS 红光鲨,有酒红色、橙色、黄色、墨绿色、深褐色等几种颜色,报价 385。虽然是自己 DIY 喷涂的,但是鼠标的实际喷涂效果非常不错、足以乱真,尾部也有 Microsoft SteelSeries,Professional Gaming Gear 的 LOGO,多种不同的颜色也弥补了官方红光鲨颜色稀少的不足,再加上这几个 DIY 彩喷版的红光鲨都是 2002 年生产的老一批红光鲨,综合来看收藏价值较高。笔者以 300 元价格把酒红色的买走了,上几张照片与大家分享一下,见下图(鼠标本身是工包,图中的包装盒是笔者自己装的)。         其它几种颜色的鼠标应该还在,推荐感兴趣的游戏外设发烧友去那儿看看。   另外笔者还在鼎好二期 B1916 发现 FRONTIER OEM 版的红光鲨,如下图所示。这个不是 DIY 的,是微软官方为 FRONTIER 制作的 OEM 版,可惜只有蓝、白两种颜色,鼠标尾部有 FRONTIER by Microsoft 的 LOGO。FRONTIER 红光鲨同样也是工包,报价 199,也具有一定的收藏价值。   发表于 作者 alx-zj | 2 评论 归档在:微软硬件及其它硬件 2008年7月10日 20:20

Windows XP Service Pack 3 升级故障汇总

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年第 14 期收录为 MVP 推荐 Blog              并已部分发表于《电脑爱好者》杂志 2008 年第 11 期)    Windows XP Service Pack 3(以下简称为 SP3)将于北京时间明天(7 月 11 日)凌晨两点开始提供自动更新。在 SP3 发布将近三个月之后,尚未手动升级至 SP3 的 Windows XP 用户将自动升级。如果因为某些特殊原因不愿升级至 SP3,可以通过关闭自动更新或安装 Windows Service Pack Blocker Toolkit 的方法阻止自动升级。   笔者借此机会总结几个较常见的 Windows XP SP3 升级故障解决方案。这些故障具有一定代表性,其中很多在微软新闻组及微软中文技术论坛中被问起。   1.之前已经安装过测试版的 SP3,在试图安装正式版 SP3 时提示已安装,需要卸载已安装的测试版再安装正式版。   解决此问题的方法一是卸载已安装的测试版 SP3,重新启动计算机继续安装正式版 SP3。二是如果之前已经删除了 Windows\$NTServicePackUninstall$、无法卸载测试版 SP3 的话,可以打开注册表编辑器定位至 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows,将 DWORD 值 CSDVersion 由十六进制的 300(十进制 768)修改为十六进制的 100 或 200,重新启动计算机后 Windows XP 将显示版本号为 SP1 或 SP2,此时再重新安装正式版 SP3 即可。   2.在 SP3 安装程序检查可用的驱动器空间时遇到“安装程序需要 4MB 以上空间执行安装”故障,安装被中止。   打开注册表编辑器定位至 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup,重新建立字符串值 BootDir、并将其值设置为 C:\   3.在安装 SP3 过程中遇到“Access is denied(拒绝访问)”故障,安装被中止。   在安装过程中遇到“拒绝访问”而中止基本是由于当前用户的操作权限不足引起系统文件或注册表无法更新。常见的解决方案有:   (1).确认当前用户帐户是否具有管理员的权限;   (2).暂时关闭所有运行中的安全防护类软件监控程序及其服务、阻止所有可能会影响到系统文件或注册表更新的后台程序,或者干脆直接以安全模式启动 Windows、在安全模式中执行安装;   (3).重置注册表与 NTFS 文件权限、阻止所有可能会影响系统文件或注册表更新的权限限制,具体做法为:   下载安装 SUBINACL.EXE:   http://www.microsoft.com/downloads/details.aspx?FamilyID=e8ba3e56-d8fe-4a91-93cf-ed6985e3927b&displaylang=en   在记事本中输入如下内容:   cd /d "%ProgramFiles%\Windows Resource Kits\Tools"
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f /grant=system=f
subinacl /subdirectories %windir%\*.* /grant=administrators=f /grant=system=f
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
  保存为 .CMD 文件后运行,然后重新启动 Windows XP。   4.安装好 SP3 后无法启动 Windows,始终遇到 0x0000007E 蓝屏错误、故障文件:INTELPPM.SYS(此问题 7 月 2 日在微软新闻组被问起)。   这个故障主要发生于采用了 AMD CPU、并错误地配置了 Intel CPU 驱动 INTELPPM.SYS 的计算机,例如惠普某品牌机就有此问题。可以通过 F8 启动菜单以安全模式启动 Windows,在命令提示符中执行:

SC CONFIG INTELPMM START = DISABLED
  或者打开注册表编辑器定位到 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\intelppm,将 DWORD 值 START 修改为 4。然后重新启动 Windows XP。   5.安装好 SP3 后无法启动 Outlook Express,遇到“MSOE.DLL 无法初始化、请重新安装 Outlook Express,Error Code:0x8007007E,126”错误(此问题 6 月 25 日在微软新闻组被问起)。   打开注册表编辑器定位到 HKEY_CLASSES_ROOT\CLSID\{4A16043F-676D-11d2-994E-00C04FA309D4}\InprocServer32,将 InprocServer32 的“默认值”重新设置为 %ProgramFiles%\Common Files\system\DIRECTDB.DLL,然后通过 REGSVR32 命令重新注册一下 %ProgramFiles%\Outlook Express\MSOE.DLL 即可。   6.安装好 SP3 后桌面的 Internet Explorer 图标丢失,无法再通过控制面板-显示-桌面-自定义桌面找回(Internet Explorer 复选框)已经消失。   这个问题笔者之前在博客《Windows XP SP3 的 Internet Explorer 桌面图标丢失的替代解决方法》中曾经提过,但当时给出的解决方案并不完美,其实这个问题有个更方便的解决方案。在打开“自定义桌面”设置后,虽然“Internet Explorer”复选框已消失,但是此复选框对应的快捷键其实依然有效。我们只要按一下 Alt+I,然后确定退出即可。虽然从表面上什么也看不出来,但选项实际已经生效,Internet Explorer 图标将会重新出现在桌面。
发表于 作者 alx-zj | 9 评论 归档在:WindowsXP/Server2003及早期版本的Windows 2008年6月8日 14:00

Windows XP SP3 依然需要将 Flash Player ActiveX 升级为 9.0.124 以上版本

 (注:本文被 Microsoft TechNet 中文速递邮件 2008 年第 11 期收录为 MVP 推荐 Blog                并已部分发表于《电脑爱好者》杂志 2008 年第 15 期)   最近网上在热炒一条新闻:互联网风暴中心(ISC)指出,Windows XP SP3 内置的 Flash Player ActiveX 没有包含 2006 年 11 月后发布的五个 Flash 漏洞修正补丁,这些漏洞将影响 Flash Player ActiveX 9.0.115 及之前的版本。   微软原本拒绝对此事发表评论,但最近微软在一份声明中指出:不安装 Adobe Flash 相应更新的 Windows XP SP3 系统易受到五个 Flash 漏洞引起的攻击,Windows XP 未在 SP3 中绑定任何版本的 Flash 更新。如果我们现有的 Windows XP 系统已经安装了 Flash Player ActiveX 的某个版本,升级至 SP3 将不会对现有的 Flash Player ActiveX 进行任何更新;而如果我们是通过 Windows XP with SP3 安装程序全新安装的 Windows XP SP3 系统,那么 Windows XP 将只包含原始的 Flash Player ActiveX 6.0.79 版。   换句话说,对于所有的 Windows XP 用户(无论是否已升级至 SP3)而言,我们都需要手动升级 Flash Player ActiveX 至 9.0.124 以上的版本,方可避免受到那五个 Flash 漏洞的影响。我们可以打开 Adobe 官网的页面在线检测当前已安装的 Flash Player ActiveX 是什么版本:   http://www.adobe.com/products/flash/about/   如果显示 You have version 9.0.115(或更低)installed,我们便需要手动升级至 9.0.124。大家可以下载本文结尾处的附件 Flash Player ActiveX 9.0.124 安装程序进行升级。   说来凑巧,笔者最近正使用 Windows XP SP3+IE 8 Beta 1 在优酷网看韩剧,这个视频就是 Flash 的 FLV 格式,需要在 IE 中调用 Flash Player ActiveX 播放:   //v.youku.com/v_playlist/cd00f1653744o9p60.html   笔者每次看的时候都会发现有一个不明进程 ORZ.EXE 在运行,通过 Process Explorer 查看 ORZ.EXE 位于 %Temp% 临时文件夹。原来 ORZ.EXE 正是一个利用 Flash 漏洞传播的木马下载器 Trojan-Downloader.Win32.Losabel.nx,而笔者的 Flash Player ActiveX 正是 9.0.115 版。在将 Flash Player ActiveX 升级至 9.0.124 之后,暂时还没有发现问题。   ORZ.EXE 木马下载器的手动清理方法为:   1.通过任务管理器关闭 ORZ.EXE 进程;   2.手动删除 %Temp% 临时文件夹及 Windows\system32 中的 ORZ.EXE(如果有的话);   3.手动删除 Windows\nt_file_temp 文件夹及全部内容(这个文件夹保存木马下载列表);   4.清理 Temporary Internet Files 临时文件夹;   5.升级 Flash Player ActiveX 至 9.0.124;   6.最后就是调用安全软件对硬盘进行全面查杀,ORZ.EXE 是个木马下载器,天晓得它曾经下载过多少木马、都保存在什么地方,因此全盘查杀是很有必要的。 发表于 作者 alx-zj | 6 评论 归档在:WindowsXP/Server2003及早期版本的Windows
Attachment(s): Adobe Flash Player ActiveX 9.0.124 安装程序.ZIP 2008年6月4日 21:40

从 OE 升级到 Windows Mail 的两个常见问题

 (注:本文被 Microsoft TechNet 中文速递邮件 2008 年第 11 期收录为 MVP 推荐 Blog               并已部分发表于《电脑爱好者》杂志 2008 年第 11 期)   去年笔者曾写过一篇 Blog 文章《从 OE 升级到 Windows Mail 后无法在新帆等新闻组中发帖的解决方法》。今天笔者再总结两个从 Outlook Express 升级到 Windows Mail 后可能会遇到的问题,两个问题均摘自微软中文新闻组,最近经常被人问起。   1.Windows Mail 导入 .CSV 通讯簿后乱码   在旧版 Windows 的 OE 中,选择“文件”-“导出”-“通讯簿”-“文本文件(以逗号分割)”,将通讯簿导出为 .CSV 通讯簿文件,然后在 Windows Vista 的 Windows Mail 中选择“文件”-“导入”-“Windows 联系人”-“CSV(以逗号分隔)”,选择之前 OE 导出的 .CSV 通讯簿文件。导入之后我们可能会发现导入的通讯簿一片乱码,如附件的截图所示。   这是由于 OE 默认使用的是 ANSI 编码,需要将其改为 UTF-8 编码。我们可以在导入 .CSV 通讯簿之前先用记事本打开 .CSV 文件,选择“文件”-“另存为”,在另存为对话框中将编码修改为 UTF-8,然后保存文件。这样再由 Windows Mail 导入 .CSV 通讯簿,就不会出现乱码了。   2.在撰写邮件时无法自动完成电子邮件地址   与 OE 相似,Windows Mail 也在“工具”-“选项”-“发送”中提供了“在撰写邮件时自动完成电子邮件的地址”复选框,这个选项可以在我们向通讯簿中的联系人发送邮件时自动读取通讯簿、将地址补全,这样我们只需输入收件人地址的前几个字母就可以了。然而经过很多网友的试用,Windows Mail 的自动完成功能似乎存在 BUG,Windows Mail 的自动完成只能对最近在 Windows Mail 中曾输入过的联系人地址有效,而对以前在 OE 中发送过的、从 OE 中导入的联系人地址无效。   为了解决这个问题带来的不便,我们可以在撰写新邮件时用鼠标单击“收件人”栏,然后按下 Alt+K 组合键,在弹出的对话框中选择联系人,这是一种变通的自动完成。或者我们还可以在 Windows Mail 处于脱机工作状态时撰写一封新邮件,将所有的联系人地址全部添加到新邮件,然后发送。由于 Windows Mail 处于脱机状态,这封邮件不会真的发送,只是转移到“发件箱”里,但这时所有“发送”过一遍的联系人地址就都处于最近使用过的地址里了,以后再向这些联系人发邮件时就可以使用自动完成了。“发件箱”中的那封邮件在操作之后删掉即可,然后取消 Windows Mail 的脱机工作状态。 发表于 作者 alx-zj | 0 评论 归档在:网络(IE/Mail/Messenger等)应用技巧
Attachment(s): 导入通讯簿乱码截图.JPG 2008年5月16日 13:10

Virtual PC 2007 虚拟机升级至 Service Pack 1 版

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年第 10 期收录为 MVP 推荐 Blog   Virtual PC 是微软收购 Connectix 的虚拟机软件,全称为 Microsoft Virtual PC。与 VMware Workstation 相比,Virtual PC 的功能略显简单,但胜在简明易用,适合初学者使用。   Microsoft Virtual PC 先后经历了 2004、2004 SP1、2007 几个版本的发展。昨天(5 月 15 日)微软放出了 Virtual PC 2007 SP1 版,版本号由 2007 的 6.0.156.0 提升为 6.0.192.0。官方下载地址:   http://www.microsoft.com/downloads/details.aspx?familyid=28c97d22-6eb8-4a09-a7f7-f6c7a1f000b5&displaylang=en&tm   如果宿主机中已经安装有 Virtual PC 2007,安装程序可以自动检测到旧的版本并直接升级为 Virtual PC 2007 SP1,无需事先卸载现有的版本。出于谨慎起见,建议升级之前备份现有的虚拟机配置文件(.VMC)以及虚拟硬盘文件(.VHD)。当然,即使不备份,只要升级安装中没有出现异常,升级后也可直接使用原有的虚拟机。   另外在升级之前,需要确保现有的虚拟机均出于关闭(Not Running)状态,而不是保存运行状态(Saved)。升级安装时安装程序将提示确认。   与 Virtual PC 2007 相比,Virtual PC 2007 SP1 只是一次微小的升级。增加并取消了一些可以支持的宿主操作系统与虚拟操作系统的类型。   增加的宿主操作系统有:Windows Vista with SP1(与 Virtual PC 2007 相同,依然只能安装在 Ultimate、Enterprise、Business 版中,不支持两个 Home 版)、Windows XP with SP3(不支持 Home 版)。   增加的虚拟操作系统有:Windows Vista with SP1、Windows Server 2008 Standard、Windows XP with SP3(其实这个加不加无所谓)。   另外与早期版本的 Virtual PC 相似,Virtual PC 2007 SP1 取消了对一些旧版操作系统的支持,在新建虚拟机向导的虚拟操作系统选择列表中将看不到这些系统,例如 Windows ME。但实际上,从新建虚拟机向导中选择虚拟操作系统类型,说白了只不过是选择一种预设的虚拟机配置方案而已,例如选择了 Windows 98,预设的虚拟机内存容量就会小些;选择了 Windows Vista,预设的虚拟机内存容量就会大些。但并不是说只要在新建虚拟机向导中选择了某种系统,这台虚拟机就只能用于安装这一种虚拟操作系统了。   最后,由于官方只提供 Virtual PC 2007 SP1 英文、法文、西班牙文、意大利文、德文、日文下载,笔者提供一个中文语言包,同时适用于 Virtual PC 2007/2007 SP1。请见附件。 发表于 作者 alx-zj | 7 评论 归档在:应用软件(Office等)应用技巧
Attachment(s): Microsoft Virtual PC 2007 中文语言包.ZIP 2008年5月8日 20:30

Windows XP SP3 版并发连接破解补丁与视觉样式破解补丁

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年第 9 期收录为 MVP 推荐 Blog)     Windows XP 有两个非常实用的第三方破解补丁:并发连接破解补丁与视觉样式破解补丁。前者可以破解 Windows\system32\drivers\TCPIP.SYS 并发连接上限为 10 的限制,方便 BT、eMule 的下载;后者可以破解 Windows\system32\UxTheme.DLL 默认不可以使用第三方视觉样式的限制,方便直接使用自己修改的或来自 Internet 的第三方视觉样式。   原先很多人使用的两个破解补丁在升级 Windows XP SP3 之后便失效了,因为早期的破解补丁只能修改 SP2 的 TCPIP.SYS 与 UxTheme.DLL,不能识别及修改 SP3 版的 TCPIP.SYS 与 UxTheme.DLL。随着 Windows XP SP3 的发布,这两个破解补丁也需要相应地升级以适应 SP3。本文提供的附件下载便是适用于 SP3 的新版破解补丁。   将附件“并发连接破解补丁与视觉样式破解补丁.ZIP” 下载后打开,运行“并发连接数破解补丁 for Windows XP Service Pack 3.EXE”,按照提示确认操作,这时将弹出 Windows 系统文件被修改为无法识别的版本的提示,忽略此提示即可。此补丁可以将并发连接上限提升至 50。   附件中的 UxTheme.DLL 是破解后的文件,可以通过 Windows 故障恢复控制台等方式将其复制到 Windows\system32 系统文件夹,替换 Windows XP SP3 的原文件即可。这时只要将第三方视觉样式复制到 Windows\Resources\themes 文件夹,即可通过控制面板-显示-外观直接调用了。   附件中还提供了一个笔者自己修改的视觉样式供大家测试视觉样式破解补丁。这个视觉样式由 Windows XP Media Center Edition 2005 的 Royale Energy Blue 亮蓝色视觉样式修改而来,主要的改动在于为窗口标题栏增加了一个两端暗、中间亮的颜色渐变效果。将附件中的 Royale 文件夹复制到 Windows\Resources\themes 文件夹即可。 发表于 作者 alx-zj | 7 评论 归档在:WindowsXP/Server2003及早期版本的Windows
Attachment(s): 并发连接破解补丁与视觉样式破解补丁.ZIP 2008年4月10日 1:00

IE 8、IE 7 for Windows XP/Server 2003 的连环卸载

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年第 8 期收录为 MVP 推荐 Blog

微软于 4 月 8 日发布了 Windows Internet Explorer 8(以下简称 IE 8)Beta 1 简体中文版,支持 x86、x64 的 Windows XP/Server 2003/Vista/Server 2008。如今越来越多的微软测试版软件的中文版都发布得越来越早了,这对广大中文用户而言是个好消息,相信不少人已“尝鲜”安装了中文版 IE 8 Beta。

笔者在 3 月 6 日 IE 8 Beta 英文版发布时曾写过一篇博客《Windows Internet Explorer 8 Beta 公开测试下载已开放》,谈论了 IE 8 的一些新特性,今天笔者想谈论一下 IE 8 的卸载问题。对于包括 Windows Vista/Server 2008 在内的所有版本的 Windows 而言,IE 8 都属于独立安装的 IE 版本,因此所有版本的 Windows 都将涉及 IE 8 的卸载问题。


Windows Vista/Server 2008 内置的 IE 版本是 IE 7,它们只要按照常规方式卸载已安装的 IE 8 即可自动恢复 IE 7,在此不再赘述。比较有趣的是 Windows XP/Server 2003,由于它们内置的 IE 版本是 IE 6,对于 Windows XP/Server 2003 而言,IE 8、IE 7 都属于独立安装的 IE 版本,所以 Windows XP/Server 2003 便涉及了一个 IE 8、IE 7 的连环卸载问题。

我们知道,在 Windows XP/Server 2003 中安装 IE 7 时,安装程序会在 Windows 安装文件夹建立一个叫做 ie7 的隐含文件夹,将 IE 6 的所有文件备份在这里,以便我们日后卸载 IE 7 时可以从这里提取 IE 6 的旧版文件、自动恢复 IE 6。如果我们在安装 IE 7 后手动删除了 Windows\ie7 文件夹,我们就无法按照常规方法卸载 IE 7、恢复 IE 6 了,除非重新安装 Windows。

IE 8 的情况与 IE 7 大同小异。当我们安装 IE 8 时,无论我们当前的 IE 版本是 IE 6 还是 IE 7,安装程序都会建立 Windows\ie8 隐含文件夹,将当前版本的 IE 文件备份在这里,以便日后可以卸载 IE 8、恢复当前版本的 IE。如果我们在安装 IE 8 后手动删除了 Windows\ie8 文件夹,我们就无法按照常规方法卸载 IE 8、恢复当前版本的 IE 了。

在了解了 IE 8 的卸载方式之后,笔者总结一下在卸载 IE 8 for Windows XP/Server 2003 时可能遇到的六种情况:

1. 从 IE 6 升级为 IE 8,升级后手动删除了 Windows\ie8 文件夹:

能否回滚至 IE 7:不可以。

能否回滚至 IE 6:不可以。

2. 从 IE 6 升级为 IE 8,升级后没有手动删除 Windows\ie8 文件夹:

能否回滚至 IE 7:不能直接回滚至 IE 7。但可以先卸载 IE 8、恢复 IE 6,然后重新安装 IE 7。

能否回滚至 IE 6:可以。运行控制面板-添加删除程序中的 IE 8 卸载程序,卸载后将自动恢复为 IE 6。

3. 从 IE 7 升级为 IE 8,升级后手动删除了 Windows\ie8、Windows\ie7 文件夹:

能否回滚至 IE 7:不可以。

能否回滚至 IE 6:不可以。

4. 从 IE 7 升级为 IE 8,升级后没有手动删除 Windows\ie7 文件夹、但是删除了 Windows\ie8 文件夹:

能否回滚至 IE 7:不可以。

能否回滚至 IE 6:不可以。由于已经无法卸载 IE 8、恢复 IE 7,所以 Windows\ie7 文件夹即使还在也没有用处了。

5. 从 IE 7 升级为 IE 8,升级后没有手动删除 Windows\ie8 文件夹、但是删除了 Windows\ie7 文件夹:

能否回滚至 IE 7:可以。运行控制面板-添加删除程序中的 IE 8 卸载程序,卸载后将自动恢复为 IE 7。

能否回滚至 IE 6:不可以。运行控制面板-添加删除程序中的 IE 8 卸载程序,卸载后将自动恢复为 IE 7。但不能再继续卸载 IE 7、恢复 IE 6。

6. 从 IE 7 升级为 IE 8,升级后没有手动删除 Windows\ie8、Windows\ie7 文件夹:

能否回滚至 IE 7:可以。运行控制面板-添加删除程序中的 IE 8 卸载程序,卸载后将自动恢复为 IE 7。

能否回滚至 IE 6:可以,但必须分两次进行。运行控制面板-添加删除程序中的 IE 8 卸载程序,卸载后将自动恢复为 IE 7。然后再次运行添加删除程序,此时,添加删除程序列表中的 IE 8 卸载程序已经恢复为 IE 7 卸载程序,选择卸载 IE 7、恢复 IE 6 即可。

笔者觉得,IE 8 for Windows XP/Server 2003 的卸载程序还是欠缺一点人性化。假如我是从 IE 7 升级为 IE 8 的,并且没有手动删除 Windows\ie8、Windows\ie7 文件夹,当我卸载 IE 8 时,卸载程序应该弹出一个对话框,询问我希望回滚至 IE 7 还是回滚至 IE 6 才对,省得必须卸载两次才能回滚至 IE 6 那么麻烦。

发表于 作者 alx-zj | 7 评论 归档在:WindowsXP/Server2003及早期版本的Windows, 网络(IE/Mail/Messenger等)应用技巧 2008年4月6日 18:00

Boot Manager 时代的多重引导(下) -多重启动菜单的显示语言

(注:本文已发表于《电脑爱好者》杂志 2008 年第 10 期、有删改)    前天笔者在博客中谈论了两个启动管理器均为 Boot Manager 的 Windows 配置为多重操作系统共存时的安装顺序问题《Boot Manager 时代的多重引导 -Windows Vista RTM 与 Windows Vista SP1/Server 2008 共存的安装顺序》。今天笔者再谈论一下配置多重操作系统共存时容易遇到的另一个常见问题:多重启动菜单的显示语言。

这个问题主要是在配置两个语言版本不同的 Windows 共存时容易出现,多重启动菜单的显示语言将以最后安装的那个系统的语言为准。例如假设我们配置一个中文系统与一个英文系统的共存,如果按照“先英后中”的顺序安装,多重启动菜单就会显示为中文;如果按照“先中后英”的顺序安装,多重启动菜单就会显示为英文。

那么,如果因为安装顺序问题,多重启动菜单的显示语言不是我们希望显示的语种,我们应该如何修改多重启动菜单的显示语言呢?下面笔者将按照 NTLDR(对应 Windows 2000/XP/Server 2003)与 Boot Manager(对应 Windows Vista RTM/Vista SP1/Server 2008)两种启动管理器的情况分别说明。

NTLDR:

在 NTLDR 时代,NTLDR 启动管理器由硬盘活动分区根目录中的三个文件组成:NTLDR、NTDETECT.COM、BOOTFONT.BIN。其中,NTLDR、NTDETECT.COM 做为 NTLDR 启动管理器的主体,每种语言版本的 Windows 都拥有各自语言版本的 NTLDR、NTDETECT.COM 文件。例如,中文版 Windows 有中文版的 NTLDR、NTDETECT.COM,英文版的 Windows 有英文版的 NTLDR、NTDETECT.COM。在配置两个 NTLDR 系统的多系统共存时,正是由于后安装的系统用自己的 NTLDR、NTDETECT.COM 替换了原有的 NTLDR、NTDETECT.COM,所以会引起 NTLDR 多重启动菜单的显示语言发生变化。

BOOTFONT.BIN 则是为双字节字符集(DBCS)版本的语言提供显示支持而设的字库文件。只有在这个字库文件的支持下,采用双字节字符语言文字的 NTLDR 菜单才可以正确显示字符;而非双字节字符语言的 NTLDR 菜单则无需 BOOTFONT.BIN 的支持。例如,采用汉字的中文即属于双字节字符语言,中文版 Windows 需要中文版的 NTLDR、NTDETECT.COM、BOOTFONT.BIN 三个文件才可以正常工作;英文则不属于双字节字符语言,因此英文版 Windows 只需要英文版的 NTLDR、NTDETECT.COM 两个文件即可。

现在,假如我们按照“先中后英”的顺序配置了两个 NTLDR 系统的共存,现在希望将多重启动菜单由英文恢复为中文,应该如何操作呢?首先,我们从中文版 Windows 安装程序中提取出中文版的 NTLDR、NTDETECT.COM 文件,将其复制到硬盘活动分区根目录,替换英文版同名文件。其次,检查一下硬盘活动分区根目录是否存在 BOOTFONT.BIN,如果存在,再检查它是不是中文的版本。假如 BOOTFONT.BIN 不存在或有所损坏,再提取出中文版的 BOOTFONT.BIN 文件复制到活动分区根目录即可。反过来说,如果我们希望将多重启动菜单由中文修改为英文,那么后一个步骤就可以省略了,只需复制英文版的 NTLDR、NTDETECT.COM 即可。

Boot Manager:

Boot Manager 的组成结构与 NTLDR 有较大不同。除了硬盘活动分区根目录有一个 BOOTMGR 隐含文件外,在活动分区的 BOOT 文件夹中存在着以所有语言类型命名的若干个子文件夹(例如 zh-cn 等),每个子文件夹都拥有一个不同语言版本的 BOOTMGR.EXE.MUI 文件。

Boot Manager 启动菜单的显示语言保存在 BCD 引导配置数据库里,当 Windows 启动时,Boot Manager 首先从 BCD 中读取 Boot Manager 菜单的语言版本信息,然后再调用 BOOTMGR 与相应语言的 BOOTMGR.EXE.MUI 组成相应语言的启动菜单。例如,假设 BCD 记录着 Boot Manager 的显示语言应该是简体中文,那么 Windows 就会调用 C:\BOOTMGR 与 C:\BOOT\zh-cn\BOOTMGR.EXE.MUI 文件,生成简体中文的 Boot Manager 菜单。其它语言的情况也是如此。

所以说,Boot Manager 不存在不同语言版本的文件互相替换的问题。如果我们需要修改 Boot Manager 菜单的显示语言,无需像 NTLDR 那样手动替换文件,只要修改一下 BCD 引导配置数据库中有关 Boot Manager 显示语言的信息即可。具体做法为:
  以管理员身份打开 CMD 命令提示符,输入并执行如下命令:   BCDEDIT -SET {BOOTMGR} LOCALE ZH-CN (此命令将把 Boot Manager 多重启动菜单,也就是选择需要启动哪一个操作系统的选择菜单的显示语言修改为简体中文)   BCDEDIT -SET {CURRENT} LOCALE ZH-CN (此命令将把当前运行的 Windows Vista/Server 2008 操作系统的 F8 高级启动菜单的显示语言修改为简体中文,Boot Manager 允许我们把多重启动菜单及 F8 启动菜单分别设置为不同的语言,这是 NTLDR 无法实现的一个新功能)   BCDEDIT -SET {MEMDIAG} LOCALE ZH-CN (此命令将把 Windows 内存诊断工具的显示语言修改为简体中文)   最后,再以管理员身份输入并执行 BCDEDIT /ENUM ALL 命令,查看一下上述项目的 LOCALE 值是否已经修改成功即可。
发表于 作者 alx-zj | 3 评论 归档在:Windows7/Vista/Server2008 2008年4月4日 4:00

Boot Manager 时代的多重引导(上) -Windows Vista RTM 与 Windows Vista SP1/Server 2008 共存的安装顺序

众所周知,从 Windows Vista 开始,Windows 操作系统的启动管理器采用了全新的 Boot Manager + BCD,取代了 Windows 2000/XP/Server 2003 一贯采用的 NTLDR + BOOT.INI。Boot Manager 不仅可以管理 Windows Vista 的启动,也可以通过自身将启动控制权移交给 NTLDR、管理 Windows 2000/XP/Server 2003 的启动。换言之,在 Boot Manager 的帮助下,我们既可以配置多个 Windows Vista 彼此之间的共存、也可以配置 Windows Vista 与 Windows 2000/XP/Server 2003 的共存。

凡是配置过多重操作系统的朋友都知道,安装多重操作系统应该本着“先低后高”的顺序进行,如果按照“先高后低”的顺序反其道行之,就容易引起高版本的操作系统无法启动的故障。例如,在配置 Windows Vista 与 Windows 2000/XP/Server 2003 的共存时,应该先安装 Windows 2000/XP/Server 2003、后安装 Windows Vista;如果我们反其道行之,Windows Vista 就会失去引导能力,届时我们必须手动恢复 Boot Manager、重建 BCD 才可以修复两者的共存。

而在多个 Windows Vista 彼此之间共存的例子上,这个问题就无所谓了,因为在 Windows Vista SP1/Server 2008 发布之前,Windows Vista 只有 RTM 6.00.16386 这个唯一的版本,Boot Manager 也只有 16386 这个唯一的版本。无论我们先安装哪个 Windows Vista、后安装哪个 Windows Vista,Boot Manager 都将是 16386 的版本,因此我们无需考虑安装顺序的问题。

最近,随着 Windows Vista SP1/Server 2008 的发布,Boot Manager 的版本也随着 Windows Vista SP1/Server 2008 一起提升到了 6.01.18000。既然 Boot Manager 的版本不再唯一,它已经有了 16386、18000 两种版本,会不会对多重操作系统的配置带来影响呢?笔者特意针对这个问题进行了一系列测试。这次测试得到了微软工程师 Perry Gu 的大力帮助,在此向 Perry Gu 表示感谢。
  (注:由于 Windows Vista SP1 与 Server 2008 的版本号都是 6.01.18000,为了叙述方便,笔者下面将这两个系统统称为 Windows 18000,而将 Windows Vista RTM 称为 Windows 16386)   笔者的疑问:   如果我们按照“先高后低”的顺序配置 Windows 18000 与 Windows 16386 的共存。那么当我们安装 Windows 16386 时,原先 Windows 18000 已经安装在硬盘中的 18000 版的 Boot Manager 会不会被 Windows 16386 降级为 16386 版本的 Boot Manager?

参考信息:在 NTLDR 时代,这个问题的答案是会。例如,假设我们已经安装了 Windows XP、现在又开始安装 Windows 2000,那么 Windows 2000 安装程序就会用自己的 NTLDR 取代 Windows XP 已经安装在硬盘中的 NTLDR、造成 NTLDR 版本降级,因此当 Windows 2000 安装好之后,虽然多重启动菜单已经自动生成,但是 Windows XP 却是无法启动的。此时必须再将 NTLDR 手动恢复为 Windows XP 的版本,才能令 Windows XP 恢复启动。

正是因为按照“先高后低”的顺序安装会引起 NTLDR 被降级,因此 NTLDR 从 Windows XP SP2 开始,新增加了版本检测功能。在 Windows XP SP2 以上的版本中(例如配置 Windows XP SP2 与 Windows Server 2003 的共存),如果安装程序检测到用户按照“先高后低”顺序安装了多重系统,就会自动阻止 NTLDR 被降级。

笔者的疑问就是:Boot Manager 是不是也继承了这一特性?如果安装程序发现我先安装了 Windows 18000、后安装了 Windows 16386,会不会自动阻止 Boot Manager 被降级呢?
  经过一番测试,笔者发现 Boot Manager 确实继承了这一特性。当笔者先安装好了 Windows 18000、后安装了 Windows 16386 时,多重系统共存可以自动形成,Windows 18000 的启动也没有受影响。换言之,Boot Manager 没有被降级。   笔者的结论:   在配置任何多重操作系统共存时本着“先低后高”的顺序安装,这个大原则本身是没有错的。只不过由于高版本的 NTLDR(Windows XP SP2 以上版本)及 Boot Manager 均增加了阻止自身被降级的功能,所以,假如我们配置的多重操作系统是两个采用了相同的启动管理器的系统,就可以不用考虑“先低后高”的顺序、按照“先高后低”的顺序安装也无所谓了。例如,假如我们配置的是 Windows 18000 与 Windows 16386 的共存(两者的启动管理器都是 Boot Manager)、或者配置的是 Windows XP SP2 与 Windows Server 2003 的共存(两者的启动管理器都是 NTLDR),那么即使按照“先高后低”的顺序安装也无妨(当然,Windows 2000 例外,因为它尚不支持阻止自身被降级的功能)。   但是,假如我们配置的多重操作系统是两个启动管理器不相同的系统,那么就必须严格按照“先低后高”的顺序安装,否则高版本的系统将肯定无法启动。例如,当我们配置 Windows Vista/Vista SP1/Server 2008 与 Windows 2000/XP/Server 2003 的共存时,如果按照“先高后低”的顺序安装,Windows Vista/Vista SP1/Server 2008 将肯定无法启动。此时必须手动修复 Boot Manager、重建 BCD 才能恢复多系统共存。   最后,笔者再重复一遍如何修复按照“先高后低”顺序配置的 Windows Vista/Vista SP1/Server 2008 与 Windows 2000/XP/Server 2003 的共存。这个问题在微软新闻组及微软技术论坛中已经被问过 N 遍了。在此我们假设首先在 C 盘安装了 Windows Vista、然后又在 D 盘安装了 Windows XP。   修复步骤:   1.首先恢复 Boot Manager 的引导。以 Windows Vista 安装光盘直接启动计算机,进入安装程序后选择“修复计算机”-“命令提示符”,在命令提示符中执行 BOOTREC /REBUILD 或者 BOOTSECT -NT60 ALL 命令。这两个命令效果是相同的,用哪个都可以。   2.重新建立 BCD。在命令提示符中执行 BOOTREC /REBUILDBCD 命令,可以重新检测硬盘中所有已存在的 Windows Vista/Server 2008 系统,并自动将其重新添加到新生成的 BCD 中。   3.由于 BOOTREC /REBUILDBCD 命令只能检测 Windows Vista/Server 2008、不能检测 Windows XP,因此我们必须手动将 Windows XP 重新添加到 BCD。否则的话,Boot Manager 启动菜单就会只显示 Windows Vista、不显示 Windows XP。手动添加 Windows XP 的步骤是通过命令提示符依次执行下列命令:   BCDEDIT -CREATE {NTLDR} -D "早期版本的 Windows"    (注:引号中的内容为注释,可以随意)   BCDEDIT -SET {NTLDR} DEVICE PARTITION=C:            (注:C: 是指 NTLDR 所在的硬盘活动分区,但不一定是 Windows XP 所在的分区,因为 Windows XP 可能没有安装在活动分区,例如在本例中,活动分区是 C:、但 Windows XP 却安装在 D:)   BCDEDIT -SET {NTLDR} PATH\NTLDR   BCDEDIT -DISPLAYORDER {NTLDR} -ADDLAST   这样即可将 Windows XP 重新添加到 BCD,恢复 Windows Vista 与 Windows XP 的多重启动菜单。