Page 1 of 1 1
Topic Options
#194810 - 2009-07-15 08:30 PM [Bug Report - KIX32 4.60 on x64]
KIXKicks Offline
Starting to like KiXtart

Registered: 2002-07-26
Posts: 177
Loc: Vancouver, WA
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)

Top
#194813 - 2009-07-15 09:01 PM Re: [Bug Report - KIX32 4.60 on x64] [Re: KIXKicks]
Allen Administrator Offline
KiX Supporter
*****

Registered: 2003-04-19
Posts: 4562
Loc: USA
Actually, this sounds right. It's the file redirection in X64 doing that because Kix is a 32bit app.

Please see the following thread about redirection and another issue regarding it. Post back and let us know if this is the case.

http://www.kixtart.org/forums/ubbthreads.php?ubb=showflat&Number=187063#Post187063

Top
#194816 - 2009-07-15 10:27 PM Re: [Bug Report - KIX32 4.60 on x64] [Re: Allen]
KIXKicks Offline
Starting to like KiXtart

Registered: 2002-07-26
Posts: 177
Loc: Vancouver, WA
Thanks for the help. So I had to change my code to make this work:

 Code:
IF $OSBIT="64 Bit"
 $=SETOPTION("WOW64FileRedirection","OFF")

 $MSMRTPATCH=GETFILEVERSION("%WINDIR%\SYSTEM32\MRT.EXE","PRODUCTVERSION")
		
 ? "UPDATES: Microsoft MRT Patch - 64-BIT MRT.EXE EXISTS: " ? $MSMRTPATCH ?
		
 IF $MSMRTPATCH<"2.12.2454.0"
  $GROUPBOXSTATUSLABEL.TEXT="Applying Windows Patch - KB890830 MRT Update..."
  ? "Applying Windows Patch - KB890830 MRT Update..." ? $MSMRTPATCH ?
  SLEEP 5
  SHELL '%COMSPEC% /C "\\WINMGMT\LDLOGON\PATCH\WINDOWS-KB890830-X64-V2.12._SVC4Q.EXE" /Q'
  IF $VISTA64="YES"
    SLEEP 180
  ELSE
    SLEEP 5
  ENDIF
 ENDIF

 $=SETOPTION("WOW64FileRedirection","ON")
ELSE
 $MSMRTPATCH=GETFILEVERSION("%WINDIR%\SYSTEM32\MRT.EXE","FILEVERSION")
		
 IF $MSMRTPATCH<"2.12.2454.0"
  $GROUPBOXSTATUSLABEL.TEXT="Applying Windows Patch - KB890830 MRT Update..."
  ? "Applying Windows Patch - KB890830 MRT Update..." ? $MSMRTPATCH ?
  SLEEP 5
  SHELL '%COMSPEC% /C "\\WINMGMT\LDLOGON\PATCH\WINDOWS-KB890830-V2.12._I58YW.EXE" /Q'
  IF $VISTA32="YES"
   SLEEP 180
  ELSE
   SLEEP 5
  ENDIF
 ENDIF
ENDIF

Top
Page 1 of 1 1


Moderator:  ShaneEP, Arend_, Jochen, Radimus, Glenn Barnas, Allen, Ruud van Velsen, Mart 
Hop to:
Shout Box

Who's Online
0 registered and 360 anonymous users online.
Newest Members
M_Moore, BeeEm, min_seow, Audio, Hoschi
17883 Registered Users

Generated in 0.05 seconds in which 0.023 seconds were spent on a total of 13 queries. Zlib compression enabled.