Page 1 of 1 1
Topic Options
#53723 - 2001-02-07 11:38 PM Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
masken Offline
MM club member
*****

Registered: 2000-11-27
Posts: 1222
Loc: Gothenburg, Sweden
Hi all

I've read alot of messages suggesting methods for updating system files in use by the OS, for example the good old "MSNET32.DLL".

Many of them includes the use of tools for shutting down Windows, copying and replacing autoexec.bat, making a wininit.ini file that doesn't seem to work, "spaghetti code" etc etc. There are also a tool called MOVEEX, that only work for WinNT, or sd-sys.exe, that requires VB runtimes installed on the OS. Some suggest using the MS installer with a /q switch, but the right file to use (when it comes to MSNET32.DLL anyway) is the Win98 version (v4.10.1998).

How do the experts solve this situation? I'm sure there is a good "overall" solution for this, perhaps i've missed it? Many of the BB threads just die with "finally got it working", without any "final solutions" specified.

Perhaps using a thirdparty tool together with KiX is the best solution, or maybe to call a batch file from RUNONCE in the registry?

This is a copy of a script that actually works, but isn't there any better way that this (the downside of this script is that the users autoexec.bat i skipped once).

code:

IF @INWIN = 2
$Key = ExistKey("HKEY_LOCAL_MACHINE\SOFTWARE\KiXfix\MSNETupd")
IF $Key <> 0
$nul=AddKey("HKEY_LOCAL_MACHINE\SOFTWARE\KiXfix\MSNETupd")
ENDIF
IF ReadValue("HKEY_LOCAL_MACHINE\SOFTWARE\KiXfix\MSNETupd","MSNET32") = "Step2"
Exit
ELSE
IF ReadValue("HKEY_LOCAL_MACHINE\SOFTWARE\KiXfix\MSNETupd","MSNET32") = "Step1"
GOTO "Step2"
ELSE
?"********** Updating your system..."
? ""
SHELL "%COMSPEC% /C Copy C:\Autoexec.bat C:\Autoexec.m32 /Y"
Sleep 1
SHELL "%COMSPEC% /C Del C:\Autoexec.bat"
Sleep 1
SHELL "%COMSPEC% /C MD C:\Temp"
Sleep 1
SHELL "%COMSPEC% /C Copy \\[server]\Bin$\Autoexec.bat C:\Autoexec.bat /Y"
Sleep 3
SHELL "%COMSPEC% /C Copy \\[server]\Bin$\MSNET32.dll C:\Temp\MSNET32.dll /Y"
Sleep 10
$nul=WriteValue("HKEY_LOCAL_MACHINE\SOFTWARE\KiXfix\MSNETupd","MSNET32","Step1","REG_SZ")
MessageBox("Your computer has been updated, and will now reboot.", "Systemupdate", 48, 10)
RUN "\\[server]\Bin$\SD-SYS.exe /F /R"
ENDIF
ENDIF
ENDIF
EXIT

:Step2
SHELL "%COMSPEC% /C Del C:\Autoexec.bat"
Sleep 1
SHELL "%COMSPEC% /C Copy C:\Autoexec.m32 C:\Autoexec.bat /Y"
Sleep 1
SHELL "%COMSPEC% /C Del C:\Autoexec.m32"
Sleep 1
SHELL "%COMSPEC% /C Del C:\Temp\MSNET32.dll"
Sleep 1
$nul=WriteValue("HKEY_LOCAL_MACHINE\SOFTWARE\KiXfix\MSNETupd","MSNET32","Step2","REG_SZ")

EXIT



The autoexec.bat copies the updated MSNET32.DLL to the right place.

In hope of a maximum of ten rows, and no autoexec replacement

_________________________
The tart is out there

Top
#53724 - 2001-02-09 09:25 AM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
masken Offline
MM club member
*****

Registered: 2000-11-27
Posts: 1222
Loc: Gothenburg, Sweden
Please?
What I was thinking of was a way that many people find as "the" way, perhaps so that it can be in the examples area, since almost all KiX:ers have to do this update?

..you know who you are, Paul, Bryce, DrillSergeant.., and the rest

_________________________
The tart is out there

Top
#53725 - 2001-02-09 10:08 AM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
kncowans Offline
Getting the hang of it

Registered: 2000-11-11
Posts: 98
Loc: Doncaster, UK
I wrote this script to automatically update certain system files when the user logs on to the Network.

You will have to alter some of the paths and the utility that you use to restart you machine but apart from that it should work fine.

Place this code in your calling script:

Call "Updates.kix"

If $Restart = "Yes"

Play file "c:\windows\dialog.spk"

Exit

Endif


What follows is the main update script.

<Code>


; Script to Update files if required

$Result = DelValue("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","ForcedLogoff")

$Restart = "No"
$LineBreak = Chr(10)

Del "%WinDir%\Wininit.ini"

$Marker = Instr(@Wksta, ")")

$Room = Substr(@Wksta,2,$Marker-2)
$Station = Substr(@Wksta,$Marker+8,10)


; Update Kix32 on Local machine if required

$KixVer = "362"

$File1 = GetFileVersion("$PDC\netlogon\Kixtart\$KixVer\kix32.exe")

$File2 = GetFileVersion("%WinDir%\kix32.exe")

If $File1 <> $File2

$Restart = "Yes"

$Result = WriteProfileString("%WinDir%\Wininit.ini","Rename","%WinDir%\Kix32.exe","C:\Kix32.exe")
$Result = WriteProfileString("%WinDir%\Wininit.ini","Rename","%WinDir%\Kx16.dll","C:\Kx16.dll")
$Result = WriteProfileString("%WinDir%\Wininit.ini","Rename","%WinDir%\Kx32.dll","C:\Kx32.dll")
$Result = WriteProfileString("%WinDir%\Wininit.ini","Rename","%WinDir%\Kx95.dll","C:\Kx95.dll")

Copy "$PDC\netlogon\Kixtart\$KixVer\kix32.exe" C:\kix32.exe /h
Copy "$PDC\netlogon\Kixtart\$KixVer\kx16.dll" C:\kx16.dll /h
Copy "$PDC\netlogon\Kixtart\$KixVer\kx32.dll" C:\kx32.dll /h
Copy "$PDC\netlogon\Kixtart\$KixVer\kx95.dll" C:\kx95.dll /h

Endif


; Update MSNet32.dll if required

$File1 = GetFileTime("$PDC\netlogon\updates\win98SE\msnet32.dll")

$File2 = GetFileTime("%WinDir%\system\msnet32.dll")

If $File1 <> $File2

$Restart = "Yes"

$Result = WriteProfileString("%WinDir%\Wininit.ini","Rename","%WinDir%\System\msnet32.dll","C:\msnet32.dll")

Copy "$PDC\netlogon\updates\win98SE\msnet32.dll" C:\msnet32.dll /h

Endif


; Update Shell32.dll if required

$File1 = GetFileTime("$PDC\netlogon\updates\win98SE\shell32.dll")

$File2 = GetFileTime("%WinDir%\system\shell32.dll")

If $File1 <> $File2

$Restart = "Yes"

$Result = WriteProfileString("%WinDir%\Wininit.ini","Rename","%WinDir%\System\shell32.dll","C:\shell32.dll")

Copy "$PDC\netlogon\updates\win98SE\shell32.dll" C:\shell32.dll /h

Endif


; Check for newer Hosts file and copy to Local Computer if found

$Result = CompareFileTimes("$PDC\netlogon\hosts","%WinDir%\hosts")

If $Result = 1 or $Result = -3

Copy "$PDC\netlogon\hosts" "%WinDir%\hosts" /h

EndIf


; Check for newer WorkView file and copy to Local Computer if found

$Result = CompareFileTimes("$PDC\netlogon\each station\workview\workview.mdb","c:\program files\workview\workview.mdb")

If $Result = 1 or $Result = -3

Copy "$PDC\netlogon\each station\workview\workview.mdb" "c:\program files\workview\workview.mdb" /h

EndIf


; Copy LogOff.kix to Local Machine if newer

$Result = CompareFileTimes("$PDC\netlogon\each station\various\logoff.kix","%WinDir%\logoff.kix")

If $Result = 1 or $Result = -3

Copy "$PDC\netlogon\each station\various\logoff.kix" "%WinDir%\LogOff.kix" /h

EndIf


; Copy KiXtart.ini to Local Machine if newer

$Result = CompareFileTimes("$PDC\netlogon\each station\various\kixtart.ini","%WinDir%\kixtart.ini")

If $Result = 1 or $Result = -3

Copy "$PDC\netlogon\each station\various\kixtart.ini" "%WinDir%\KiXtart.ini" /h

EndIf


; Copy Shutdown.exe to Local Machine if newer

$Result = CompareFileTimes("$PDC\Netlogon\NetUtils\shutdown\shutdown.exe","%WinDir%\shutdown.exe")

If $Result = -3 or $Result = 1

Copy "$PDC\Netlogon\NetUtils\shutdown\shutdown.exe" "%WinDir%\shutdown.exe" /h

EndIf


; Copy 'You Have Mail.wav' to Local Machine

$Result = CompareFileTimes("$PDC\netlogon\each station\various\you have mail.wav","%WinDir%\you have mail.wav")

If $Result = 1 or $Result = -3

Copy "$PDC\netlogon\each station\various\You Have Mail.wav" "%WinDir%\You Have Mail.wav" /h

EndIf


; Copy 'Conagent.pif' to Local Machine

$Result = CompareFileTimes("$PDC\netlogon\each station\various\Conagent.pif","%WinDir%\System\Conagent.pif")

If $Result = 1 or $Result = -3

Copy "$PDC\netlogon\each station\various\Conagent.pif" "%WinDir%\System\Conagent.pif" /h

EndIf


; Copy 'LMScript.pif' to Local Machine

$Result = CompareFileTimes("$PDC\netlogon\each station\various\LMScript.pif","%WinDir%\System\LMScript.pif")

If $Result = 1 or $Result = -3

Copy "$PDC\netlogon\each station\various\LMScript.pif" "%WinDir%\System\LMScript.pif" /h

EndIf


; Copy 'MailSpy' to Local Machine

$Result = CompareFileTimes("$PDC\netlogon\each station\MailSpy\MailSpy.exe","%WinDir%\MailSpy.exe")

If $Result = 1 or $Result = -3

Copy "$PDC\netlogon\each station\MailSpy\*.*" "%WinDir%\" /h

EndIf


; Copy 'ClrName' to Local Machine

$Result = CompareFileTimes("$PDC\netlogon\each station\various\Clrname.exe","%WinDir%\Clrname.exe")

If $Result = 1 or $Result = -3

Copy "$PDC\netlogon\each station\various\clrname.exe" "%WinDir%\" /h

EndIf


; Copy Ctl3d.dll to Local Machine if not present

If Exist("C:\Windows\System\Ctl3d.dll") = 0

Copy "$PDC\netlogon\each station\various\ctl3d.dll" "%WinDir%\System\" /h

Endif


; Copy Kill.exe to Local Machine if not present

If Exist( "C:\Windows\Kill.exe" ) = 0

Copy "$PDC\netlogon\each station\various\kill.exe" "%WinDir%\" /h

Endif


; Copy XXCopy.exe to Local Machine if not present

If Exist( "C:\Windows\XXCopy.exe" ) = 0

Copy "$PDC\netlogon\each station\various\xxcopy.exe" "%WinDir%\" /h

Endif


; Copy SendTo Items to Users SendTo Directory

MD "$PDC\@UserID\SendTo"

Copy "$PDC\netlogon\each station\various\sendto\*.*" "$PDC\@UserID\SendTo\" /h


; If Restart is required, display Message Box, setup Restart code and return to Calling Script

If $Restart = "Yes"

Call "Log Updates.kix"

Play file "c:\windows\dialog.spk"

$Result = MessageBox("Windows will now be Restarted in order to Update various System Files" + $LineBreak + $LineBreak + "Please Logon again once the System has Restarted" + $LineBreak + $LineBreak + "Do NOT touch the Keyboard or Mouse until the computer has Restarted","Notice",4096,10)

$Result = WriteValue("HKEY_CURRENT_USER\Control Panel\Colors","Background","0 0 0","REG_SZ")

$Result = WriteValue("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","ForcedLogoff","%WinDir%\Shutdown.exe /reboot /nologo /nocancel /seconds:5","REG_SZ")

$Result = WriteProfileString("$PDC\@userid\System\LoggedOn.ini","Network","LoggedOn","No")
$Result = WriteProfileString("$PDC\@userid\System\LoggedOn.ini","Network","WkSta",@WkSta)
$Result = WriteProfileString("$PDC\@userid\System\LoggedOn.ini","Network","IT","No")

Endif

<Code>

_________________________
Kevin Cowans Senior ICT Technician The Armthorpe School

Top
#53726 - 2001-02-09 02:15 PM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
DrillSergeant Offline
MM club member
*****

Registered: 2004-07-09
Posts: 1164
Loc: Eijsden, the Netherlands
Hi Masken,

I have been thinking about a generic batch-file. I'm gonna combine some knowledge I have found from resent posts:
http://kixtart.org/board/Forum2/HTML/001161.html http://kixtart.org/board/Forum1/HTML/000690.html

And try to make a generic LOGON.BAT that includes the automatic updates of EXE's & DLL's.

I'm thinking about including an Error message if the workstation is a Win95 system and a KIXRPC-service could not be found. (With the help some of Bryce's examples)

If anyone has suggestions that I should think about, please post them.

I'll let you know on monday how far I am.

------------------
Greetz,

Roger the Young
------------------------
The code is out there...
------------------------

_________________________
The Code is out there

Top
#53727 - 2001-02-09 02:41 PM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
masken Offline
MM club member
*****

Registered: 2000-11-27
Posts: 1222
Loc: Gothenburg, Sweden
Kncowans, is it certain that this wininit.ini solution works on all systems (see the URL in my first message)?

Hi DrillSergeant! Thank your for replying

Oops, missed cj's reply there, thanks for showing me. Is perhaps the MV util from the Reskit the best way to do this on?

There is another util called "kill.exe", that actually stops the usage of files, althugh this seems quite risky (and perhaps Win will just fire up the system files needed again?).

I also thought of appending lines in the user's existing autoexec.bat. Perhaps copying a second admin.bat to the clients computer and edit the clients original autoexec.bat to exec the admin.bat is a good solution? An update could perhaps then depend of GetFileVersion() (and check autoexec.bat for any admin.bat references, and delete the line when no longer necessary)?

_________________________
The tart is out there

Top
#53728 - 2001-02-09 04:23 PM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
Bryce Offline
KiX Supporter
*****

Registered: 2000-02-29
Posts: 3167
Loc: Houston TX
I wish I could be of some service on the topic.... But I have never had to face this problem.

A portion of my client computers are win95. I guess I have been lucky.

I just know that for some people it is a major pain in the rear!

Bryce

Top
#53729 - 2001-02-09 07:40 PM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
Anonymous
Unregistered


Masken,

Using the winitit.ini method works very well for most 95/98 systems for specific files that you want to replace. (of course nothing seems to word correctly on all systems)

But you can always test the msnet32.dll version on the next reboot if you want to.

This works best if you don't want to force your users to reboot right after you update the file. It will be done on the next reboot.

Part of the bootup process for win9x systems is to run the wininit.exe and perform any action that is specified in the wininit.ini file. so it is pretty reliable if you setup the file corectly

Top
#53730 - 2001-02-10 09:00 PM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
kncowans Offline
Getting the hang of it

Registered: 2000-11-11
Posts: 98
Loc: Doncaster, UK
Hello

Well, I have been using the Wininit.ini system on Win9x systems via my Updates script (schown above) to update certain files, system or otherwise, for over a year now with no problems at all.

Bye for now

Kevin

_________________________
Kevin Cowans Senior ICT Technician The Armthorpe School

Top
#53731 - 2001-02-11 02:55 AM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
DrillSergeant Offline
MM club member
*****

Registered: 2004-07-09
Posts: 1164
Loc: Eijsden, the Netherlands
Hi all,

I've made a batch-file that will check and update any files that are of importance to the logon-sequence (I think...)

I haven't tested it thouroughly so please, please, please test it before you implement it.

this is the batch file:

code:

@Echo off
REM *** update95.bat ***

set SYSDIR=%windir%\system

REM *** Kixfiles needed for Win9x ***

fc /l %0\..\Kix\Kix32.exe %sysdir%\Kix32.exe | find "geen verschillen" > nul
if errorlevel 1 copy %0\..\Kix\Kix32.exe %sysdir%\Kix32.exe > nul

fc /l %0\..\Kix\Kix16.dll %sysdir%\Kix16.dll | find "geen verschillen" > nul
if errorlevel 1 copy %0\..\Kix\Kix16.dll %sysdir%\Kix16.dll > nul

fc /l %0\..\Kix\Kix32.dll %sysdir%\Kix32.dll | find "geen verschillen" > nul
if errorlevel 1 copy %0\..\Kix\Kix32.dll %sysdir%\Kix32.dll > nul

fc /l %0..\Kix\Kix95.dll %sysdir%\Kix95.dll | find "geen verschillen" > nul
if errorlevel 1 copy %0\..\Kix\Kix95.dll %sysdir%\Kix95.dll > nul

REM *** Exotic Win9x files ***

set CHGDLL=
if exist %windir%\wininit.ini set CHGDLL=YES

fc /l %0\..\Win9x\Msvcrt.dll %sysdir%\Msvcrt.dll | find "geen verschillen" > nul
if errorlevel 0 goto netapi
if .%CHGDLL%.==.. ECHO [Rename] > %windir\wininit.ini
copy %0\..\Win9x\Msvcrt.dll %sysdir%\Msvcrt.new > nul
ECHO %sysdir%\Msvcrt.dll %sysdir%\Msvcrt.new >> %windir%\wininit.ini
set CHGDLL=YES

:netapi
fc /l %0\..\Win9x\netapi.dll %sysdir%\netapi.dll | find "geen verschillen" > nul
if errorlevel 0 goto netapi32
if .%CHGDLL%.==.. ECHO [Rename] > %windir\wininit.ini
copy Win9x\Netapi.dll > %sysdir%\Netapi.new > nul
ECHO %sysdir%\Netapi.dll %sysdir%\Netapi.new >> %windir%\wininit.ini
set CHGDLL=YES

:netapi32
fc /l %0\..\Win9x\netapi32.dll %sysdir%\netapi32.dll | find "geen verschillen" > nul
if errorlevel 0 goto msnet32
if .%CHGDLL%.==.. ECHO [Rename] > %windir\wininit.ini
copy %0\..\Win9x\Netapi32.dll > %sysdir%\Netapi32.new > nul
ECHO %sysdir%\Netapi32.dll %sysdir%\Netapi32.new >> %windir%\wininit.ini
set CHGDLL=YES

:msnet32
fc /l %0\..\Win9x\msnet32.dll %sysdir%\msnet32.dll | find "geen verschillen" > nul
if errorlevel 0 goto done
if .%CHGDLL%.==.. ECHO [Rename] > %windir\wininit.ini
copy %0\..\Win9x\msnet32.dll > %sysdir%\msnet32.new > nul
ECHO %sysdir%\msnet32.dll %sysdir%\msnet32.new >> %windir%\wininit.ini
set CHGDLL=YES

REM *** Done ***
:done
if .%CHGDLL%.==.. goto end

cls
ECHO Changes have been made to your configuration.
ECHO.
ECHO You should reboot your system to ensure a proper working
ECHO of the operating system.
ECHO.
pause

:end


As you can see it uses the wininit.ini to replace some files (that are in use during the logon-procedure)

All files are placed in the WINDOWS\SYSTEM directory so your logon-batch file should look like this:

code:

call "update95.bat"
%windir%\system\kix32.exe %0\..\logon.kix

or something similar

It also uses the find command. You have to adapt it to your own language. the phrase 'Geen verschillen' is dutch for 'no differences' but i'm not really sure what the exact result is in your language so you have to test fc and look at the result between to files (that are the same).

You will have to have two subdirs in the netlogon share. One named Kix and have the following files in it:

kix32.exe
kix16.dll
kix32.dll
kix95.dll

the other subdir has to be called win9x and should contain the files:

msvcrt.dll
netapi.dll
netapi32.dll
msnet32.dll


As I've said before, please test it, and if you have any suggestions I'm always very interested.

I'm still working on the WNT4.0 part of this batch so there will be another subdir called WinNT, wich will contain the specific winnt files.

------------------
Greetz,

Roger the Young
------------------------
The code is out there...
------------------------

[This message has been edited by DrillSergeant (edited 11 February 2001).]

[This message has been edited by DrillSergeant (edited 11 February 2001).]

_________________________
The Code is out there

Top
#53732 - 2001-02-12 05:41 AM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
rollo Offline
Getting the hang of it

Registered: 2000-07-11
Posts: 85
Loc: louisiana
here is another tool for ya its part of the
w2k rk

Inuse.exe: File-In-Use Replace Utility

InUse is a command-line tool that performs on-the-fly replacement of files currently in use by the operating system. You must be a member of the Administrators group to use this tool.

InUse is primarily used to replace locked operating system files. After running the tool, the file specified is not replaced until the system is restarted. During restart, the system moves the file immediately after AUTOCHK is run, but before creating any paging files. This tool is useful for troubleshooting purposes, where you might need to replace an individual file on your computer instead of an entire set of files.

InUse Examples

--------------------------------------------------------------------------------

Replace a local existing file with an updated remote version.
inuse \\IMACOMPUTERNAME\winnt\test.dll e:\winnt\test.dll

InUse - version 1.4
---------------------------------------------------------------------------
Copyright (c) 1994-1999 Microsoft Corporation. All rights reserved
Windows 2000 detected - WFP is enforced

INUSE is about to replace the following file

Existing: e:\winnt\test.dll
1.4

Replacement: \\IMACOMPUTERNAME\winnt\test.dll
1.4

Do you want to continue?(y/n) y

\\IMACOMPUTERNAME\winnt\test.dll is replacing --> e:\winnt\test.dll

Changes will not take affect until you reboot.
Replace multiple files via a batch script.
batch.cmd
@echo off
inuse test.dll c:\winnt\system32\test.dll /y
inuse test2.dll c:\winnt\system32\test2.dll /y
inuse test3.dll c:\winnt\system32\test3.dll /y
shutdown /l /r /y


Top
#53733 - 2001-02-12 09:58 AM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
masken Offline
MM club member
*****

Registered: 2000-11-27
Posts: 1222
Loc: Gothenburg, Sweden
wow! Thanks all for great input . I shall test DrillSergeant's batch and the Win 2000 Reskit util on an old Win95a machine here (hopefully) during the day, i'll be back with the results.
_________________________
The tart is out there

Top
#53734 - 2001-02-12 01:18 PM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
Anonymous
Unregistered


I just use a "software package builder" (SMS, Intel landesk or ...) :

1. scan the PC.
2. replace the file and reboot.
3. scan the pc and create the msnet32.exe " distribution file"
4. put the msnet32.exe file in your logon script.

- That's the way i did it.

Syfong

Top
#53735 - 2001-02-12 05:46 PM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
masken Offline
MM club member
*****

Registered: 2000-11-27
Posts: 1222
Loc: Gothenburg, Sweden
Hi again.

Well, i've found out that inuse.exe only works with Win 2000, so that could not be used...

DrillSergeant, I haven't tested your batch yet (too much to do at work today ), but I *will* find the time tomorrow

How much do you have to do in pure DOS compatible mode? the update/installation of KiX files is obvious, but when KiX is up and running, perhaps you can get along with KiX checking and GetFileVersion() ?

This is also prefferred on a WAN, where the use of local fileservers might be neccessary...

To solve this in KiX is a piece of cake, with the use of @IPADDRESS etc, and the set/check the local fileserver. As an example, I am planning for 11 local servers, and to check if they are up and running, and having the latest "fileserver" distribution, I use a little snipplet:

code:

$FileServer = "\\[localserver]\fileserver$$"
$LogonServer = @LSERVER
$BigUpdates = "YES"

IF EXIST("$FileServer\NETLOGON\FileSrv_Rev.ini") = 0
$FileServer = $LogonServer
$BigUpdates = "NO"
ELSE
$FileSrv_Local = READPROFILESTRING("$FileServer\NETLOGON\FileSrv_Rev.ini","Localversion","Version")
$FileSrv_Remote = READPROFILESTRING("$LogonServer\NETLOGON\FileSrv_Rev.ini","Localversion","Version")
IF $FileSrv_Local <> $FileSrv_Remote
$FileServer = $LogonServer
$BigUpdates = "NO"
ENDIF
ENDIF



Of course you never get by copying the necessary KiX files from the PDC/BDC... (which my local fileservers are not set as)?

[This message has been edited by masken (edited 12 February 2001).]

_________________________
The tart is out there

Top
#53736 - 2001-04-02 01:35 AM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
MCA Offline
KiX Supporter
*****

Registered: 2000-04-28
Posts: 5152
Loc: Netherlands, EU
Dear,

Another way to install kix32 at your local drives.
It's independent of your windows version.

New Iexpress package has been created. Previously versions
required


  • directory c:\temp exist
  • environment variable tmp value must be c:\temp

The new versions doesn't have any requirement. It's windows version
independent.
For kixtart 3.62 version:

  • kix362update.exe
  • kix362registry.exe

For kixtart 3.63 version:

  • kix363update.exe
  • kix363registry.exe

The registry versions install kixtart to your %systemroot%
folder and add file associations for kixtart to your HKCR registry
keys. So you have additional elements to your menu.
The update versions install kixtart also to your %systemroot%
folder and remove file associations for kixtart from your
registry.

Possible calls in your logon procedure can be:


  • x:\kixtart\kix362update.exe /q
  • %0\..\kix363registry.exe /q
  • if not exist c:\kix363.ok %0\..\kix363update.exe /q

Your logon procedure may looks like:

code:

if not exist c:\kix363.ok %0\..\kix363update.exe /q
kix32 your_script.kix



(kix32.exe will be run from the first directory of your path.
normally c:\windows or c:\winnt)

After using above programs there will be created a control
file c:\kix362.ok or c:\kix363.ok. So it isn't
necessary to run the installation process again.

To check the available kixtart version on your local drive
you can use our script version.kix.


Greetings.


BTW:


_________________________
email scripting@wanadoo.nl homepage scripting@wanadoo.nl | Links | Summary of Site Site KiXforms FAQ kixtart.org library collection mirror MCA | FAQ & UDF help file UDF kixtart.org library collection mirror MCA | mirror USA | mirror europe UDF scriptlogic library collection UDFs | mirror MCA

Top
#53737 - 2001-04-03 07:54 AM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
Anonymous
Unregistered


I may be miss understanding but I use this and have zero problems..

This is the login.bat file

@echo off
rem V1.01 08/13/99
cls
set INI=MINDFX
if "%OS%" == "Windows_NT" goto 32bitNT
%0\..\commands\dosver
if errorlevel 7 goto 32bit
goto 16bit
:32bitNT
Title=Welcome to MindFX
:32bit
set copycmd=/y
if exist %windir%\Kix32.new copy %windir%\Kix32.new %windir%\Kix32.exe > nul
if exist %windir%\Kix32.new del %windir%\Kix32.new > nul
if not exist %windir%\Kix32.exe goto NoKix
%windir%\Kix32 login
exit
:NoKix
%0\..\Kix32 login
exit
:16bit
exit

This is the kix side


; INSTALL KIX32 LOCAL SOFTWARE

IF @DOMAIN = $DOMAIN
$SERVER = GETFILEVERSION (@LDRIVE + "Kix32.exe")
$WKSTN = GETFILEVERSION ("%Windir%\Kix32.exe")
IF $WKSTN < $SERVER
$X = "Install Kix32 Local Software."
GOSUB DISP
COPY @LDRIVE + "\Kix32.exe" "%Windir%\Kix32.new"
ENDIF
IF @INWIN=2
$SERVER = GETFILEVERSION (@LDRIVE + "Kx95.dll")
$WKSTN = GETFILEVERSION ("%Windir%\Kx95.dll")
IF $WKSTN < $SERVER
COPY @LDRIVE + "\Kx95.dll" "%Windir%\Kx95.dll"
ENDIF
$SERVER = GETFILEVERSION (@LDRIVE + "Kx32.dll")
$WKSTN = GETFILEVERSION ("%Windir%\Kx32.dll")
IF $WKSTN < $SERVER
COPY @LDRIVE + "\Kx32.dll" "%Windir%\Kx32.dll"
ENDIF
$RESULT = COMPAREFILETIMES (@LDRIVE + "\Kx16.dll","%Windir%\Kx16.dll")
IF $RESULT = 1 OR $RESULT = -3
COPY @LDRIVE + "\Kx16.dll" "%Windir%\Kx16.dll"
ENDIF
ENDIF
ENDIF

[This message has been edited by SpriteMike (edited 03 April 2001).]

Top
#53738 - 2001-04-03 01:44 PM Re: Best praxis for automated update/replace of files in use with KiX? (good old MSNET)
masken Offline
MM club member
*****

Registered: 2000-11-27
Posts: 1222
Loc: Gothenburg, Sweden
Well, some Win95 clients have problems with some functionality in KiX, I was therefore searching for the "Optimal" solution, or some sort of reference to an "always" working solution for all Win32 platforms.

Ie, update necessary Win95 files, loclacopy Kix, start KiX logon..

_________________________
The tart is out there

Top
Page 1 of 1 1


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

Who's Online
1 registered (Allen) and 581 anonymous users online.
Newest Members
fgarcia, Viginette, ManuvdWielNL, Sir_Barrington, batdk82
17889 Registered Users

Generated in 0.067 seconds in which 0.027 seconds were spent on a total of 12 queries. Zlib compression enabled.

Search the board with:
superb Board Search
or try with google:
Google
Web kixtart.org