Home

在 Windows 2003 下安装 Windows Live

类似 Windows Live 及 Windows Media Player 的安装程序都是无法直接安装到系统,一直都为此而苦恼。

突发奇想如果 Hook GetVersionEx 这样的 API 来欺骗系统的版本号,不就可以搞定了吗?

搜之,已经有这样的软件了,于是 Down 之,可以安装 Live 了~~~

这么好的东西怎么能不分享给大家呢?

系统魔法师 v3.1(Verset)

下载地址:https://www.rayfile.com/zh-cn/files/0eb4666e-4a76-11dd-96fb-00142218fc6e/

该软件来自:https://handytool.net/index.php/2008/07/verset31/

同样,该方法也可用于在服务器上安装非服务器版软件或者在非服务器上安装服务器软件,比如卡巴7这样。

View Comments

乱弹用户资源

一个企业无论在何种阶段,如何掌握更多的用户,并且让用户具有更高的粘性,是必修的课题。

在中国,大多数网民上网都必备一个腾讯公司的 QQ 号码,在某种程度上来说,没有 QQ 号码,就可以称作火星人;造成这种原因的情况的是有历史原因的;在大约95-99年的时候,中国兴起一股晚到的互联网浪潮,可以说中国的第一批真正意义上的网民就是从中诞生的。
此时,信息交流所必须的一种工具,在中国以一种较新的方式,它就是 OICQ 即我们现在所熟知 QQ,从名字上就可知 QQ 当时是模仿 ICQ 诞生的,仅有最简单的聊天功能,而就是这种最简单的功能,成就了中国互联网的基石。我甚至可以断言,即使在今天,如果 QQ 这样的软件全部消失,绝对会造成中国互联网的恐慌。

腾讯掌握了中国的网民的数量可说为中国最多也不过,这里就牵扯到我们要讨论的话题:核心用户资源。

这里我么可以理解用户资源为一个用户的帐户,具有很高黏度的那种帐户;因为时代原因,中国和欧美国家的互联网信息构成模式有很大不同;欧美国家的构成模式为 邮件/邮件列表/新闻组/门户,中国的构成模式为 即时聊天/论坛/门户,到目前的 Web 2.0 时代,又多了 博客/RSS/Twitter 这样的信息构成。

但到目前为止,邮件始终是互联网的基石,这一点在中国不是太明显,多数中国 Web 公司都有自己的用户群和帐户系统,但是这些都是松散的结构,统一及多网站交互非常困难。
像百度这样虽然推出了众多的服务,但是却没有为用户提供邮件帐户,并不能增加用户黏性,目前黏性最大的服务即是百度贴吧,但我更多将他看做提供娱乐交流的服务,用户虽众多,但是并不牢靠,娱乐毕竟不能产生真正有价值的东西。

而腾讯 QQ 掌握中国绝大部分用户,也可算雄霸一方,但其小气吝啬的作风让很多人都不爽,他的巨大可说是建立在中国网民素质(计算机素质)普遍不高的情况下。当网民素质普遍提高以后,并且对于即时聊天的以来减少以后,消亡也是迟早。
不过就目前来看,似乎很难,因为腾讯通过 QQ 巨大的用户群为平台,展开一系列的如 QQ空间、QQ游戏 等捆绑行为,试图将增加用户黏性,但用户群始终难以扩大,依旧固定在较年轻人群这一群体,因此,未来就很难说了。

更能让人看好的是豆瓣这样 Web 2.0 网站,通过共性聚集的人群黏性不是一般强!
我始终相信,只要掌握了中国的邮件帐户,就掌握了中国的互联网核心用户资源。

现在是 Web 2.0 时代,未来的发展方向肯定是 Web 与桌面结合;Web 是不可阻挡的趋势,Google 和 Microsoft 两个死对头都推出了自己的解决方案。

Google 为我们提供的解决方案是:

  • Google Docs
    • Word
    • Spreadsheet
    • Presentation
  • Google Sites
  • Google Notebook
  • Google Calendar
  • Google Mail
  • Google Reader
  • Google Picasa
  • Google Talk

Microsoft 为我们提供的是 Windows Live 一整套解决方案。Live 试图打造一个统一的品牌:

  • Office Live
    • Word
    • Excel
    • PowerPoint
    • Note
    • List
  • Live Writer
  • Live Photo
  • Live Mail
  • Live Messenger
  • Live SkyDrive

而我呢。现在则正在烦恼到底用微软解决方案还是 Google 的解决方案;从根本上说我是喜欢微软解决方案的(有因为自己是 .Net Developer 的因素在内),毕竟可以和 Office Outlook 之类的无缝整合,但是 Google 的服务确实好用。所以目前其实是混合,用 Google 的服务比较多,如果 Google 还在拖延 Google Drive 的推出,我就会毫不犹豫的投向 Microsoft 的服务了。

目前使用的服务有:

  • Google Reader
  • Google History
  • Google Notebook
  • Google Mail
  • Google Docs
  • Live Space
  • Live SkyDrive
  • Live Writer

胡言乱语一通,哈哈,看官勿笑。

View Comments

SVN 简单备份与还原

备份 SVN 仓库是很麻烦的事,而 Coder 通常是很怕麻烦的人,于是 Zealic  就为减少麻烦,花了一点麻烦的时间,写了两个麻烦的脚本,解决了这个麻烦的问题。

1. 备份脚本 DumpAll.bat

 1::==================== 
 2:: Author : Zealic
 3:: Version : 1.00
 4:: FileName : DumpAll.bat
 5:: Summary : Dump 当前目录的所有 Svn 仓库,脚本将备份当前目录下的所有SVN仓库,
 6::   本脚本依赖于 7za.exe 程序,请到下述连接下载程序
 7::   https://downloads.sourceforge.net/sevenzip/7za457.zip
 8:: Update : 2008-11-26
 9::====================
10@ECHO OFF
11SET VARDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
12dir /B /AD > DIRS
13IF EXIST DUMPFILES (
14  DEL /Q DUMPFILES
15)
16FOR /F %%i IN (DIRS) DO (
17 SET REPOSNAME=%%i
18  CALL :DUMPREPOS
19)
20SET REPOSNAME=
21
22ECHO.
23ECHO Compressing dump files...
247za a Repos%VARDATE%.7z *.bin
25
26ECHO Delete dump files...
27  FOR /F %%i IN (DUMPFILES) DO (
28  DEL /Q %%i
29)
30
31DEL /Q DIRS
32DEL /Q DUMPFILES
33
34ECHO Successed.
35GOTO :EOF
36
37::==== Functions ====
38:DUMPREPOS
39SET DUMPFILE=%REPOSNAME%.bin
40ECHO Dumping repository ^"%REPOSNAME%^" ...
41svnadmin dump ^"%REPOSNAME%^" -q > %DUMPFILE%
42IF %errorlevel%==0 (
43  ECHO %DUMPFILE% >> DUMPFILES
44) ELSE (
45  DEL /Q %DUMPFILE%
46  ECHO Dump ^"%REPOSNAME%^" failed.
47)
48SET DUMP_FILE=
49ECHO.

2. 还原脚本 LoadAll.bat

 1::==================== 
 2:: Author : Zealic 
 3:: Version : 1.00 
 4:: FileName : LoadAll.bat 
 5:: Summary : Load Svn 仓库,确保当前目录为没有任何子目录, 
 6::  脚本将搜索当前目录下的 *.bin 文件,自动为其创建仓库并 Load Dump文件。 
 7:: Update : 2008-11-26 
 8::==================== 
 9@ECHO OFF
10SET VARISEMPTYDIR=TRUE
11dir /B /AD > DIRS
12FOR /F %%i IN (DIRS) DO (
13  SET VARISEMPTYDIR=FALSE
14)
15DEL /Q DUMPFILES
16
17IF "%VARISEMPTYDIR%"=="FALSE" (
18  ECHO Error : Current directory is not empty.
19  GOTO :EOF
20)
21SET VARISEMPTYDIR=
22
23dir /B /A-D *.bin > DUMPFILES
24IF "%errorlevel%"=="0" (
25  ECHO Finded dump file.
26) ELSE (
27  ECHO Error : Can not find dump file.
28  GOTO :EOF
29)
30
31FOR /F %%i IN (DUMPFILES) DO (
32  SET REPOSFILE=%%i
33  CALL :LOADREPOS
34)
35SET REPOSFILE=
36DEL /Q DUMPFILES
37ECHO Successed.
38GOTO :EOF
39
40::==== Functions ====
41:LOADREPOS
42SET REPOSNAME=%REPOSFILE:~0,-4%
43mkdir %REPOSNAME%
44ECHO Loading repository ^"%REPOSNAME%^" ...
45svnadmin create %REPOSNAME%
46svnadmin load -q %cd%%REPOSNAME% < %REPOSFILE%
47IF %errorlevel%==0 (
48  ECHO %DUMPFILE% >> DUMPFILES
49) ELSE (
50  RMDIR /Q %REPOSNAME%
51  ECHO Load ^"%REPOSNAME%^" failed.
52)
53SET REPOSNAME=
54ECHO.

麻烦解决之,所以可以去娱乐了。

View Comments

发散性碎片(2008-11-14)

1. 因源

很多时候,我们上网,总会碰到些自己感兴趣的小东西,了解了其一点信息,然后我们有据此延伸到其他的东西,这样的状态,也算是上网冲浪的一种;而对于我们程序员来说,感兴趣的自然和编程有关。

这些看过的东西,说不定我们什么时候就会忘记,于是乎就想记录下来;你说单独把看到的东西独立成文吧,内容太少,干脆就以写杂文的心态,把觉得有用的通通写下来。这样的话内容可能有些杂乱,又想,就当锻炼文笔好了,写博客嘛,有些东西可以不用太计较。

想不出什么标题,于是随意起个发散性碎片的名称,以后亦会如此。

2. 碎片啊碎片

2.1 Subversion

话说本人辞职有一段时间,好好的放纵些时候,回到家中已是很久没有学习和钻研“科学技术”了,于是乎开始搜索 SVN 这个自己一直很感兴趣的东西。

  1. Subversion
    目前版本已经升级到 1.5.4 了,应该算稳定,还在观望的同学可以考虑升级到 1.5.x 系列,没有用过这东西的也推荐来试试。
  2. AnkhSVN
    2.0 发布,全面重写了 1.0 版本的 AnkhSVN,现在是一个 Visual Studio SCC Plugin,并且现在是以 SharpSVN 这个 .Net 包装过的 Binding 用来访问 SVN 数据仓库(SharpSVN 将会以 Subversion 的官方 .Net Binding 的姿态出现,对此我很高兴)。
  3. Subversion 将对于 HTTP 更加友好
    不过大概是明年或更久远的事情,其实我更希望 SVN 能够运行于其他更多 Web Server 之上,比如 IIS、lighttpd、nginx 等等。
    关注 Subversion,可以通过以下网站:

2.2 CollabNet

CollabNET 是一家专业致力于使用开源软件来提供企业级协作软件及服务的公司。这里由于他是 Subversion 项目的所有者,所以我多关心了下(以前就知道,不过没啥兴趣),CollabNet 提供的 CollabNet Enterprise EditionCollabNet SourceForge Enterprise 都属于重量级的项目管理工具,项目管理其实只是他们功能的一部分,我从这里摘抄了一些介绍,供同学们参考:

  • SourceForge Enterprise Edition(SFEE) 作为一家年盈利上亿的企业,CollabNet的核心产品并非Subversion一种。作为 CollabNet 最高端的产品,SFEE 能为企业用户提供开放源代码的平台支持。它是满足分布式协作开发需求、100% Web 化的开发平台。它集成了软件配置管理、需求定义、缺陷追踪、文档管理与文档评审、沟通与协作管理、Wiki、项目管理、知识搜索和文件发布管理等众多功能。
  • CollabNet Enterprise Edition(CEE) CEE(CollabNet Enterprise Edition)是 CollabNet 的协作化开发管理平台,它向用户提供甚至比 SourceForge 平台功能更加强大、可靠性更高的协作平台,诸如 HP、Intel、SUN、BEA 等全球性大公司都使用CEE来构建分布式开发协作平台。可以这样说,CEE 和 SourceForge 是目前市场占有率最高的两个协作开发平台。

2.3 文档

然后我又因为一个现在已经忘记的关联,对文档产生了兴趣;恩恩,像 MSDN 风格那样漂亮的文档,我知道以前有两个项目,开源的 NDoc 和 微软的 Sandcastle,NDoc 早已停止开发,就在微软公布 Sandcastle 不久之后。 NDoc 仅支持 .Net 1.1,网上也有一些修改后支持 2.0 的版本,不过现在都 3.5 马上 4.0 了,我想用的人估计很少;此外还有两个基于 NDoc 的项目 NDoc ReloadedNDoc3,NDoc Reloaded 的发起人是本国人,不过似乎作者似乎把这个遗忘了,而 NDoc3 就不同了,在 SF.Net 上有高达 99.44% 的 Activity,值得关注。 Sandcastle 则没什么好说的,估计大多数人都用过了,等我过段时间试用 NDoc3 和 Sandcastle 后再细细写篇博文供大家参考。

2.4 其他

在 Google 的过程中,我还发现了一个小东西,很有使用价值,不过似乎已经过期了。
XPathmania,一个 VS2005 的插件,可以在 VS 中打开 XML 文件时,执行 XPath 查询,相当方便,效果可以看这里

3.完了

完了,天已经黑的不能再黑了,夜魔要来抓我了,赶紧休息吧。

View Comments

动态链接库重定向技术

Windows 有一种方法可以缓解传说种的 DLL Hell,即动态链接库重定向技术。

这种简单技术的实现方法如下:

场景:

应用程序 a.exe 依赖动态链接库 compoent.dll 1.0 版本。但是用户的另一个软件 b 在系统的系统目录安装了 component.dll 2.0 版本,这两个版本完全不兼容,

因此,Windows 在加载 component.dll 的时候,会直接加载系统目录中的 component.dll,这就造成了 a.exe 程序无法运行,如果这时用户需要同时使用两个软件,就会造成所谓的 DLL Hell。

使用动态链接库重定向技术解决 DLL Hell :

这里有两种方法可以实现动态链接库重定向技术。

  1. 创建 a.exe.local 文件,该文件内容为空。
    这时系统就会强制使 a.exe LoadLibrary 时先在 a.exe 所在的目录下查找要加载的动态库,之后才到系统目录下寻找。这个解决方法适用于两个不同的应用。

  2. 创建 a.exe.local 目录,将 a.exe 依赖的库放入其中。
    这时系统就会强制使 a.exe LoadLibrary 时先在 a.exe.local 目录下查找要加载的动态库,之后才到系统目录下寻找。这个解决方法适用于单个应用中存在两个应用程序,并且以来同名但是互不兼容的库。

动态链接库重定向技术实际上是 M$ 修改了 LoadLibrary(Ex) 的代码,使其在调用时先检测是否存在 .local 文件或目录实现重定向的。它是作为临时解决 DLL HELL 的方法。并且,当应用程序存在 Manifest 时,该技术将不会起作用。

参考 : https://msdn.microsoft.com/en-us/library/ms682600(VS.85).aspx

View Comments