I have found a bug in the GETFILEVERSION code of KIX32.

Trying to get GetFileVersion for MRT.EXE on XP 64-Bit Computer.

This file is located at C:\WINDOWS\SYSTEM32.

GetFileVersion returns nothing, so I copied the MRT.EXE file to C:\
and updated my code. It works. Then I tried MSCONFIG.EXE file in the C:\WINDOWS\SYSTEM32 directory and same problem.

I took this code an put it into a blank kix file and run it, same results.

Only $TEST returns a value. This only happens on a 64-Bit OS (XP or Vista).

Sample code [part of a large loginscript]:

 Code:
$MSMRTPATCH=GETFILEVERSION("C:\WINDOWS\SYSTEM32\MRT.EXE","FILEVERSION")

? "UPDATES: Microsoft MRT Patch - 64-BIT MRT.EXE EXISTS: " ? $MSMRTPATCH ?

$TEST=GETFILEVERSION("C:\MRT.EXE","PRODUCTVERSION")
		
? "UPDATES: Microsoft MRT Patch - 64-BIT TEST MRT.EXE EXISTS: " ? $TEST ?
			
$MSMRTPATCH=GETFILEVERSION("%WINDIR%\SYSTEM32\MRT.EXE","PRODUCTVERSION")
		
? "UPDATES: Microsoft MRT Patch - 64-BIT MRT.EXE EXISTS: " ? $MSMRTPATCH ?
		
$MSMRTPATCH=GETFILEVERSION("C:\WINDOWS\SYSWOW64\MRT.EXE","FILEVERSION")
		
? "UPDATES: Microsoft MRT Patch - 64-BIT MRT.EXE EXISTS: " ? $MSMRTPATCH ?
SLEEP 10


Edited by KIXKicks (2009-07-15 08:31 PM)