1.2.2 2011.1.25
补充作者 Anders 提出的检测 GetLastError 返回值问题。

1.2.1 2011.1.25
对 1.1 版本再次完善：
对每一步返回值都进行判断，若出错则返回错误。
放弃逻辑函数库，全部改为 IntCmp 判断比较。

1.1 2010.11.30
1.1 版本存在以下问题：
问题1：路径参数在宏里面没加上引号，带空格路径编译报错。
问题2：如果没有获取到或出现错误，结果变量值仍保持不变。

导致问题如下：
${GetProductVersion} "$WINDIR\notepad.exe" $R0
如果该值存在，况且又紧接着使用：
${GetPrivateBuild} "$WINDIR\notepad.exe" $R0
仍为上面的结果。

已修正：
若获取到值，则输出结果，即使该值为空，输出结果也是空。
若该版本信息不存在或出现错误，则结果值都为 error。
否则，无法区分到底是获取到了且结果为空还是没有获取到。

1.0 最初整理版本