8月初,.NET Framework 3.5 SP1 发布了。在下载 .NET Framework 3.5 Service Pack 1 完整软件包(231MB) 之后,在本地运行安装程序时,它并不是直接就开始安装的,而是需要连接网络下载一点点东西,对网络速度不快的用户造成了一些时间上的浪费。既然是完整软件包,为什么还是要下载一部分文件才行呢?
原来,.NET Framework 3.5 SP1 完整安装包是一个安装程序同时适用于所有语言的,但如果要同时包含所有语言的语言包,体积会在现在的基础上进一步增大许多,可能考虑到这一点,发布时并没有包含语言包,而是在安装过程中才进行下载。
如果希望解决这个问题,让完整安装包每次都直接安装完成的话,我们可以手动下载需要的 3.5 SP1 语言包(其中包含 2.0 SP2 和 3.0 SP2 语言包),下载页面为:http://www.microsoft.com/downloads/details.aspx?FamilyID=8489ed13-b831-4855-96f7-dd35e4c02a20,例如,简体中文32位版语言包文件名为 dotnetfx35langpack_x86zh-CHS.exe。将 dotnetfx35.exe 用 WinRAR 等软件解压缩,再将语言包文件放到 \wcu\dotNetFramework\dotNetFX35\x86 文件夹或者 \wcu\dotNetFramework 文件夹中。
完整安装包不仅适用于所有语言,还包含了x86、x64 和 IA64三种平台的安装文件,因此变得非常庞大。如果我们只需要在一种平台上安装,那就完全可以进行精简。同样将 dotnetfx35.exe 用 WinRAR 等软件解压缩,如果我们只需要在32位的 Windows 操作系统上安装,则可以将子文件夹 dotNetFX20、dotNetFX30、dotNetFX35、dotNetMSP、Tools 中所有 带“x64”和“IA64”的文件和文件夹删除掉,保留带“x86”的,这样就可以精简很多。
另外,dotNetFX20 和 dotNetMSP 文件夹中其实都是 .NET Framework 2.0 SP2 的安装程序,只是前者用于XP/2003,后者用于Vista/2008。如果您只使用Vista,那就可以删除掉 dotNetFX20 文件夹,这样可以进一步精简体积。
经过以上两个方法,我们得到的 .NET Framework 3.5 SP1 完整安装包就可以在每次安装时都不需要下载语言包,并且得到了很大程度的精简,以后就不用再到官方网站去下载庞大的安装包了。现在运行dotNetFramework 文件夹中 2.82MB 的那个 dotNetFx35setup.exe 就可以开始安装了。
微软刚刚(美国时间6月11日)发布了 Network Monitor 3.2.975.0 测试版。该软件可以按需要捕获 Windows 中的网络数据包,已便于进行分析,是学习计算机网络原理的人士和网络管理、网络安全相关人士的得力工具。Network Monitor 3.2 相对于 3.1 版本有许多新特性,包括:
- 进程跟踪:查看计算机中所有传输网络数据的进程(进程名和 PID)。 使用会话树形视图查看各个进程的数据帧。

- 查找会话:快速分离出同一次网络会话中的各种帧。可以分离 TCP 流、HTTP 流等。

- 支持 PCAP 捕获文件*
- 重新构建了捕获引擎,以改进在高速网络中的捕获速度。Network Monitor 3.2 丢失帧的情况会比 3.1 版本少很多。
- 大量的解析器(parser):适用于 300 多种协议的解析器!适用于《Windows 开放式协议规范》(参见 http://msdn.microsoft.com/en-us/library/cc216517.aspx)中所涵盖协议的解析器。
- NM API:让您可以自己创建用于捕获、解析和分析网络通信的应用程序!
- 改进的解析器管理:默认情况下只加载 161 个解析器。您可以通过在“工具”>“选项”>“解析器”中调整解析器搜索顺序,设置为加载所有解析器。
- 支持将帧截断:转到“工具”>“选项”,通过限制对每个帧捕获的字节长度来改善性能表现。
- 更多 NPL 文档,包括关于新 NMAPI 的文档。可以从“帮助”>“NPL 和 API 文档”命令访问这些文档
- 对于循环状态和数组,增强了 NPL 项目的过滤能力。您可以为特定的数组或循环指定一个索引
- 新增了 IA64 版本。
- ContainsBin 插件:搜索包含任意字节序列或字符串的帧。例如:ContainsBin(FrameData, ASCII, “pluto”)。
- 在用户界面上增加了了对会话状态、丢失帧数、捕获缓冲中的帧数的提示。

- 用于操作 UTF-8、UTF-16 和 ASCII 编码的新 NPL 插件
- 可对十六进制详细信息视图进行设置
- 可以在帧摘要窗口中进行全选
- 在启动页面上列车最近打开的捕获文件
- 更多新特性请参见安装文件夹下的 ReleaseNotes.txt
Network Monitor 3.2 支持 Windows XP/2003/Vista/2008 的 x86 和 x64 版本,还支持 Windows Server 2008 的 IA64版本。
请访问 Connect 网站上的 Network Monitor 项目获得 Network Monitor 3.2 测试版:https://connect.microsoft.com
Microsoft Remote Desktop Connection for Mac 是 Windows 下“远程桌面连接”的 Mac OS 版本,为 Mac 用户访问 Windows 应用提供了一种便捷可行的方案。今天发现 Microsoft Remote Desktop Connection for Mac 2.0 Beta3 发布了,于是下载试用。程序体积比Beta1增大了很多,从6.7MB增大到17.3MB,可见改进应该很多,基本上实现了Windows版RDC6.0的所有功能。

由于官方还没提供新功能列表,所以完整的变化不得而知。以下是我总结出来的相对于Beta1的一部分变化:
登录界面去掉了Beta文字,版本号为080409,真是够新的了
增加了完整的帮助文档
增强了对*.RDP远程桌面连接配置文件的支持,可以单独打开编辑和保存RDP文件
支持同时进行多个连接(文件菜单下的“新建连接”命令)
增加Windows版本RDC6.0中的“安全认证”功能,可以验证被连接的计算机的身份
首选项界面图标更新,贴近Vista和Leopard的双重风格
显示:支持字体平滑(要求Vista)、位图缓存、全屏模式下隐藏顶部菜单
去掉了原本集成的微软错误报告和帮助查看器组件
除英语外,增加了7种语言支持

最近,Visual Studio 2008 Express Edition 中文正式版终于推出,可以在微软网站上免费下载了,对一般的程序开发人员或初学者来说可谓是个好消息。可是大家都发现,之前发布的英文版离线ISO安装镜像只有不到900MB的体积,而现在的中文版却有3.21GB之大。比较每个语言的镜像大小,只有英文版和日文版在1GB左右,其他语言版本都在3GB左右。
难道是其他语言版比英文和日文版包含了更多的组件吗?特地把英文版和中文版都下载来进行对比,并没有发现中文版多了什么重要内容。而镜像当中同时包含了Visual C#、Visual Basic、Visual C++、Visual Web Developer 2008 Express 的安装包,他们之间有一些公共组件包,例如.NET Framework 等,这些组件包在Visual C#、Visual Basic、Visual C++、Visual Web Developer 2008 Express 的安装文件夹下同时存在,因此同一个文件就有多个相同的副本存在。会不会是英文和日文版镜像中把在这些重复文件存在单独的空间中,而其他语言则保留了重复的副本,导致体积变大?
使用UltraISO打开中文版镜像,在菜单中选择"文件"、“属性”,选中其中的“优化文件”复选框,再将ISO保存或另存为,经过一会儿等待,UltraISO就会把相同的文件只在ISO中保存一个副本。新的中文版ISO小多了,和日文版差不多,只有1GB多。
不知道微软的工作人员是怎么搞的,正式发布的产品也有这样的疏忽。
Visual Studio 2008 Express Edition 官方下载页面:http://www.microsoft.com/express/download/
在Firefox、Safari等浏览器的夹击下,微软改变了作风,加快了IE的更新速度,这就是竞争带来的益处。网络上最近就流传着IE8测试版的一些消息和少量截图,今天出现了IE8 Beta1的更多截图。据消息称,微软内部及少数测试人员已经可以下载到,并且包含中文版(见截图)。官方相关页面也已经推出。
IE8 Beta1 相关主页及下载链接(目前仅英文版,中文版稍后):http://www.microsoft.com/windows/products/winfamily/ie/ie8/readiness/
IE8 Beta1 安装完成后的向导页面:http://www.microsoft.com/windows/ie/ie8/welcome/en/default.html



根据微软IE8官方网站的介绍资料,我们现在了解到了一些IE8的新功能特性,其中包括:
Activities (活动内容服务)
WebSlices (网站订阅)
Favorites Bar (收藏夹栏)
Automatic Crash Recovery (自动崩溃恢复)
Improved Phishing Filter (改进型反钓鱼过滤器)
Activities(活动内容服务)
活动内容服务,意味着用户可以从网页服务中快速存取服务,用户通常对网页的内容进行复制粘贴,这里的情况是把网页中内容发送到一个web应用程序 中,例如,用户在页面看到一个餐厅地址,那么他就可以把看到的地址发送到地图服务中去。而其他情况,例如用户看到一篇有趣的文章,他也可以利用这项功能把 部分文字发送到博客中去。关于活动服务的内容,用户可以安装或管理。
WebSlices(网站订阅)
WebSlices是一个新的功能,当用户接入网络之后可以不打开网站查看订阅内容,WebSlices似乎与Feeds之类比较相似,微软的演示为订阅天气预报。
Favorites Bar(收藏夹栏)
之前IE7的收藏夹已经被扩展为一个完整的收藏夹栏,此栏目除了可以添加喜好的网站,还可以加入包括word、excel、powerpoint文件的地址。
Automatic Crash Recovery (自动故障恢复)
IE系列浏览器的用户实际上经常能遇到IE浏览器崩溃的情况。再次打开IE之后,刚刚浏览的网页没有保存,你甚至不知道去那里找回它们。ACR自动故障恢复功能是IE 8浏览器的一个重要改进。当IE浏览器崩溃,ACR会自动保存用户浏览的页面,并恢复它们。
Improved Phishing Filter (改进型反钓鱼过滤器)
IE7中提供的网络反钓鱼过滤器在新的IE 8中得到了发扬,当用户遇到可能的仿冒网站,此过滤器会弹出并警告用户可能的威胁。并且新加入了“安全过滤”功能,这种安全过滤器除了继续阻止已知的钓鱼网站,还可以检查已知的恶意软件,以减少用户个人信息失窃等问题。

问题现象:对于那些链接目标已经不存在的程序快捷方式,不管右键单击还是按键盘上的删除键,资源管理器都会停止响应相当长一段时间,然后才弹出右键菜单或确认删除的对话框。
这个问题已经出现好几个月了,实在是让我忍耐了几个月,每次遇到都要抓狂。起先以为是Vista的BUG,但在别人电脑上也从没遇到,应该是安装的某个程序有兼容性问题。
使用过Process Monitor来进行注册表和文件访问的监视,看哪个模块或注册表键值出了问题。发现出现该问题时,Explorer.exe每隔一秒钟试图访问一次不存在的目标程序路径,发生“名称未找到”的失败访问,一共持续了十多秒(如图),没有其他什么线索:
而且由于Explorer.exe随着用户的一举一动在频繁的访问各处注册表和文件,要在没有线索的情况下找出访问哪个注册表键值或文件时响应缓慢很难,之前几次尝试找出真凶,都无功而返。很多人遇到这种问题可能想要重装系统,但我认为这实在是下下策,不是在解决问题,而是在逃避问题。
今天,删除快速启动栏中残留QQ音乐的快捷方式时,又遇到老问题,我决定再试一次。还是打开Process Monitor进行监视,发现在上述现象发生前夕,Explorer.exe访问了MacDrive、WinRAR、Restorator等的外壳扩展模块dll,经过逐个筛查,他们的嫌疑都被排除,其余就没有什么可疑项目了。问题模块究竟深藏何处?
偶然双击到访问QQMusic.exe发生“名称未找到”错误时的记录,打开了事件属性对话框,在那里看到“堆栈”选项卡。线索会不会在这里?
Process Monitor中的“堆栈”选项卡记录了事件发生时,执行任务的线程的堆栈状态,包括堆栈中每个帧的模块路径、内存地址,其中内核模式(Kernel-mode)的帧在前面标注“K”,用户模式(User-mode)的帧标注“U”。双击某个条目,可查看该模块的文件路径、文件描述、版本号和公司信息:
具体到本次访问QQMusic.exe时发生的“名称未找到”事件,堆栈列表中大都是Windows自身常见的系统文件,只有一个CmdLineExt.dll没见过。
查看其属性发现并非微软出品,而是Sony DADC Austria AG.,十分可疑。找到该文件所在位置,查看文件属性,发现带有Sony的数字签名,应该不是病毒,上网搜索才知道,原来它属于索尼securom ROM的版权保护组件,根据介绍来看应该是之前安装某个游戏的时候进驻我的系统的。网上还说“它已被证实对很多系统造成严重的性能问题”,看来罪魁祸首十有八九就是它。
由于这是一个dll文件,可能已通过regsvr32注册的方式注册到系统中,直接删除文件的话,可能导致系统中留有残留信息。因此首先使用regsvr32 /u 命令尝试反注册它。果然提示卸载成功:
然后就要删除它,可是提示文件正在被占用。
虽然已被卸载,但Explorer要到下一次运行时才不再调用它,因此打开任务管理器,结束Explorer进程之后再次运行,终于把CmdLineExt.dll删除掉了。现在删除已经无效的QQMusic快捷方式,迅速弹出确认删除对话框,问题果然解决了!
遇到此问题的操作系统为Windows Vista,不清楚在其他系统下是否也会遇到类似情况,如果不存在的话,那可能是SecuROM与Vista的兼容性问题。
Visual Studio 2008 中文正式版可以从微软网站下载试用了,因为之前用英文版感觉比2005快一些,虽然.NET Framework 3.5有点庞大,但还是可以选择开发2.0的项目,因此打算立马安装。试用期为三个月,足够长了,因此安装Team System版本,体验一下新特性。但是最担心的事情还是发生了——无法安装。
根据提示,是第一个组件“Visual Studio Web 创作组件(Visual Studio Authoring Component)”安装失败,出现错误界面之后,setup.exe随即停止工作(如图),装过了2次都是如此。
问题出在哪里呢?我打算找出原因,试图解决问题。
因为除Visual Studio本身以外,VS安装过程中安装的其他附带安装的组件,基本上都是有单独安装包的。先找到Visual Studio Web 创作组件的独立安装包,试试单独安装能不能成功。
果然,在安装DVD的\WCU\WebDesignerCore文件夹中找到了“Visual Studio Web 创作组件”的安装程序。将其复制到硬盘上并解压缩,可以发现该组件使用的是Office 2007的安装方式,运行其中的setup.exe,出现与Office 2007相同的安装程序界面。单击“立即安装”,结果出现找不到office.zh-cn文件夹中文件的对话框,选择了安装程序所在的正确位置并确定,又再一次弹出同样的窗口,安装无法继续:
仔细核对文件名,确定安装文件夹中的确有需要的文件,但为什么还是提示找不到呢?
既然这个组件使用Office 2007的安装方式,文件夹中也有office.zh-cn这个和Office 2007共有的组件,那会不会是因为Office 2007的问题,导致Visual Studio Web 创作组件无法安装呢?
打开Vista中的“程序和功能”,选择Office 2007,并单击”更改“按钮,在弹出的安装程序界面中,选择”修复“,并继续,
果然不出所料,这时也出现了同样的找不到安装文件的对话框,基本确定是因为Office 2007的问题导致Visual Studio 安装失败。
这时想起来,在安装Office时,安装程序默认情况下会将安装文件缓存在系统分区的隐藏文件夹MSOCache中,安装完成后并不会将其删除。由于这个文件夹实在是太大了,平常用Office其实并不需要它,因此安装完Office之后就手动将其删除了,而在修复Office组件时,需要访问MSOCache文件夹中的安装文件,所以就出现了以上问题。以往的经验是,已删除MSOCache文件夹时,可以放入Office原来的安装光盘,即可顺利修复。
于是直接放入Office 2007的安装光盘,在弹出寻找文件的对话框时,指向安装盘中office.zh-cn文件夹所在的位置(一般是光驱根目录),Office 2007被成功修复,这时再安装Visual Studio Web 创作组件,也顺利的安装上了:
接下来启动Visua Studio 2008安装程序,也顺利的安装,没有再遇到问题。安装完成后可以再次删除安装Visual Studio Web 创作组件时缓存下来的MSOCache文件夹(注意是隐藏文件夹)。
至此终于找到原因,原来是因为Office 2007的安装源缓存MSOCache文件夹被用户删除导致的。只要找到Office 2007的安装文件,即可顺利安装Visual Studio Web 创作组件。
最后还要考虑一个问题,为什么指向Visual Studio Web 创作组件安装程序中的office.zh-cn文件夹无法通过验证,而Office 2007安装盘中的office.zh-cn文件就可以呢?对比两个文件夹发现,其中只有OfficeLR.cab、officemui.msi、officemui.xml三个文件不同,而前两个主要文件,仅仅是数字签名日期不同。可能是由于系统中已经安装了Office 2007,而记录了这些安装程序的哈希值,安装程序只承认Office 2007的安装文件版本,而不接受其他的版本。
Windows Vista SP1 安装之后会增加系统的硬盘使用量。这些空间用于存档RTM文件,以便可以卸载 SP1 使系统还原到RTM版本。
微软通过\Windows\winsxs文件夹,在Windows中保存系统文件的多个版本,以便需要时可以调用不同版本,可以解决DLL版本冲突的噩梦。在Vista中更新了系统文件之后,也会在winsxs文件夹中保存文件的每个版本:
如上图所示,由于安装了SP1,大部分系统文件都会有6.0.6000.16386(RTM版)和6.0.6001.18000(SP1版)两个版本,如果之前还安装了更新程序,就可能有其他版本,使得同一个文件有3个甚至6个不同版本。其实安装了升级程序之后,系统就不会再使用老版本的文件,这些文件在这里仅仅是起到备份的作用,让我们可以卸载更新程序。
如果我们不会卸载SP1,希望找回存储6.0.6000.16386版本文件花掉的额外空间,就可以运行这个官方的 VSP1CLN.exe 命令行工具。此工具只适用于带有SP1的系统清理RTM版的文件,不能清理其他更新程序所安装的其他版本文件。
使用方法很简单,直接运行“命令提示符”,键入vsp1cln回车,提示时按Y即可:
清理过程只需要几十秒的时间,完成之后你会发现,系统可用硬盘空间多了将近900MB。
该程序还有以下命令行选项,可以实现脱机Vista镜像中的移除、无提示清理等高级功能:
VSP1CLN.exe [/h] | [/o: 脱机Windows文件夹路径] [/quiet]
/? 或 /h
显示 VSP1CLN 命令参数列表。
/o:[脱机Windows文件夹路径]
指定要移除RTM文件的脱机镜像位置。
/quiet
安静模式运行,没有显示。
/verbose 提供额外的诊断信息输出。
PS:wbpluto在07年12月25日发布的VSP1CLN.exe 6001.17051版本,缺少文件,并不能直接运行。由于当时没有条件实际测试,仅仅根据微软的说明就推荐给大家,在此表示抱歉。
这几天,由于Vista SP1正式版快发布的消息越来越多,wbpluto发现论坛上很多网友都期盼着尽快用上正式版的SP1。我上一篇日志介绍了现在就使用到还未发布的Vista SP1中文版的方法,但部分网友对SP1期望很高,在官方没有消息之前并不相信目前存在的6.0.6001.18000.080118-1840版就是最终的正式版,怀疑之声此起彼伏。
例如,有网友就发现他安装543MB的080118-1840独立安装包后,在“关于Windows”对话框中单击链接打开的“Microsoft 软件许可协议”并没有SP1字样,而已经泄露的集成有SP1的Vista英文版,相应许可协议中的产品名称处却明明写着“Service Pack 1”,据此怀疑该SP1中文版独立安装包为假,是民间自己汉化打包的。
其实这是一个误会:
在安装Vista RTM时,安装程序会将RTM版的License.rtf文件复制到\Windows\System32文件夹中,当你在“关于Windows”中单击打开“软件使用许可协议”时,看到的即是\Windows\System32\License.rtf的内容。安装SP独立安装包时,SP安装程序并不会将SP1版许可协议复制到\Windows\System32中覆盖原版,因此我们看到的还是原来的许可协议。
当安装集成有SP1的Vista时,安装程序会将SP1版的License.rtf文件复制到\Windows\System32文件夹中,因此在“关于Windows”中单击打开的协议带有SP1字样。
同样的道理,如果我们安装时输入的是OEM版产品密钥,则装完后许可协议为OEM版协议。
如果安装时使用了零售版密钥或不输入秘钥,装完后手动导入OEM证书和密钥将系统授权转换成OEM SLP方式,则许可协议还是零售版本,不会变为OEM版的许可协议,因为转换过程并不会去处理现有的License.rtf文件。
在XP下同理,升级包安装SP并不会覆盖原来老版本的许可协议eula.txt。
这种现象是不同安装方法对许可协议的处理方式不同,并非BUG,更不能因此判断独立安装包是假的!
大家可以打开\Windows\System32\zh-CN\Licenses文件夹,里面_Default、eval、OEM子文件夹就分别保存了对应零售、评估、OEM三种授权的所有版本的许可协议,如果我们安装的是独立升级包,SP1版的许可协议会出现在这里,打开来看到是简体中文的:

这是我在ITECN上的第一篇日志,非常感谢盆盆站长帮我在这里开博,我会在这里把我对微软技术小小的体会分享给大家。对了,今天正好是大年三十,祝大家鼠年快乐!
-----------------------------------------------------------------------------------------------------
目前,Windows Vista SP1 正式版已经生成,版本号为 6001.18000.080118-1840 。
微软计划在2月4日左右将英文、德文、日文、西班牙文、发文的SP1发布到MSDN订阅,3月正式面向公众发布,而其他语言的版本则要稍迟。
早在1月25日,这个版本就已经可以通过Windows Update 以SP1 RC Refresh2的名义进行更新试用,其实就是将来发布的SP1正式版。大家要是等不及的话,完全可以现在就用上SP1正式版,而且是包含所有语言的。
下载附件,解压缩之后右键选择SP1_rcr2RK.cmd,以管理员身份运行,该脚本会在注册表中添加一个键值,我们的系统就可以接收到还没有公开发布的SP1更新程序了。适用于所有语言的Vista系统。
打开Windows Update控制面板,单击左侧的“检查更新”,稍等片刻应该就能找到,不过安装过程分几个包进行,第一次是安装一个4MB的更新,重新启动之后再查找更新,就能安装SP1了。
安装完之后的版本如图,和目前所知的英文SP1正式版的版本号完全一致:
http://glgjxq.blu.livefilestore.com/y1paHQxJZLztx5E2kCc5dYnswnzDCxjVCHPHsJrx-DczkbP0IS7qKffAvthfXqCtBkfmzwB3kc4qbz72E2TrTpthw/Windows%20Vista%20SP1%20from%20WU.zip?download