Weaklink -
A few questions/observations/suggestions:
1. Are you sure the Windows variable %OS% returns values of 'W2K' and 'XP'? On my Windows 2000 system the value is 'Windows_NT'.
2. Here at the top of section :WIN9X:
SET KIXVER=KIX362
GOTO COPY
goto appears unnecessary as next line is the copy section.
3. Your KiX exe and dll copy portion will not overwrite older/invalid files, simply confirm some files exist. To script upgrading component to 3.63/4.02, I would add something like:
code:
IF EXIST %KIXDIR%\KIX32.EXE DEL %KIXDIR%\KIX32.EXE
IF EXIST %KIXDIR%\KX16.DLL DEL %KIXDIR%\KX16.DLL
IF EXIST %KIXDIR%\KX32.DLL DEL %KIXDIR%\KX32.DLL
IF EXIST %KIXDIR%\KX95.DLL DEL %KIXDIR%\KX95.DLL
IF EXIST %KIXDIR%\System\KIX32.EXE DEL %KIXDIR%\System\KIX32.EXE
IF EXIST %KIXDIR%\System\KX16.DLL DEL %KIXDIR%\System\KX16.DLL
IF EXIST %KIXDIR%\System\KX32.DLL DEL %KIXDIR%\System\KX32.DLL
IF EXIST %KIXDIR%\System\KX95.DLL DEL %KIXDIR%\System\KX95.DLL
prior to copying the files in place.
4. To reduce inuse %Kix...% variables, use "SET VarName=" to clear them prior to launching the KiX script. You could reduce reliance upon variables by simply putting KIX files in %windir%, or %windir%\system instead of creating a special directory to hold 4 files.
5. It appears once you hit the section COPY, you will also execute the section KIXCOPIED, as there is no additional GOTO to bypass.
6. This section of batch file:
IF NOT EXIST %0 GOTO NOEXT
%KIXDIR%\KIX32.EXE %0 $kixscript="%KIXDIR%\KIX32.EXE %KIXSCRIPT%"
appears unreachable since you 'GOTO LOGON' directly above.
7. Recommend you change the LOGON to call KIX32 from the client versus network to improve performance. Why spend all the effort to maintain accurate files on the client if you are not expecting to use them except when server unavailable?
Bill