Kdyer
(KiX Supporter)
2002-03-12 06:43 AM
KiXtart Deployment

{Edit - Added information about WKIX32 deployment part.}

How do we deploy Kixtart to the Enterprise?

You can copy the files as described in the Manual to the clients using GETTYPE or other OS detection methods. Or, you can verify the files are up-to-date using MCA's IE Express Packager utilities.

It will only install the required kixtart binairies on your clients. For the NT-Based (NT, W2000, XP, .Net) environments it is only the KIX32.EXE or WKIX32.EXE file.
For W9x additional files included are KX16.DLL, KX32.DLL and KX95.DLL files.

You can find the following KIX32.EXE versions (console edition):
These packages contain the following -
Automatic installation in the windows directory and to have it remove kix file association links (.kix, .k2k, .scr & .udf) and capabilities from your menu.

  • kix362update.exe iexpress package of Kixtart 3.62.
  • kix363update.exe iexpress package of Kixtart 3.63.
  • kix402update.exe iexpress package of Kixtart 4.02 final release (build 71 - console version).
  • kix410update.exe iexpress package of Kixtart 4.10 final release (build 99 - console version).
  • kix411update.exe iexpress package of Kixtart 4.11 final release (build 104 - console version).
  • kix412update.exe iexpress package of Kixtart 4.12 final release (build 112 - console version).
  • kix420update.exe iexpress package of Kixtart 4.20 final release (build 129 - console version).
  • kix421update.exe iexpress package of Kixtart 4.21 release candidate 1 (build 131 - console version).
For people who don't like a console they can also use the console-less WKIX32.EXE versions
These packages contain the following -
Automatic installation in the windows directory
  • wkix402update.exe iexpress package of Kixtart 4.02 final release (build 71 - console-less version).
  • wkix410update.exe iexpress package of Kixtart 4.10 final release (build 99 - console-less version).
  • wkix411update.exe iexpress package of Kixtart 4.11 final release (build 104 - console-less version).
  • wkix412update.exe iexpress package of Kixtart 4.12 final release (build 112 - console-less version).
  • wkix420update.exe iexpress package of Kixtart 4.20 final release (build 129 - console-less version).
  • wkix421update.exe iexpress package of Kixtart 4.21 release candidate 1 (build 131 - console-less version).
When you want more about it please click on the  - symbol on our pages. Symbol has been linked to related http://kixtart.org topics.
For Developers, we have also IE Express Packager utilities and documentation available. For them we will install the KIX32.EXE edition and we will create the proper file associations to the file extensions .kix, .k2k, .udf and if necessary .scr.
btw: A good story about same stuff see Kix upgrade: What are those new features? can upgrade be done without any danger?

[ 28. July 2003, 08:24: Message edited by: kdyer ]


Kdyer
(KiX Supporter)
2003-07-28 08:23 AM
Re: KiXtart Deployment

KiXtart deployment to the client.
Inspiration is from - http://home.wanadoo.nl/scripting/ (KIXnnnUPDATE.EXE)

Thanks MCA!

While the KIXnnnUPDATE.EXE is a great deployment tool, I started to see some limitations with it, for example, it ran a lot of uneeded code and was constrained to only one directory. We have a number of clients in our domain that cannot write even to %windir%. This hopefully addresses that issue.

Sure, you can run KIX32.EXE/WKIX32.EXE at the NETLOGON share.

This is using IEXPRESS packager from Microsoft - http://support.microsoft.com/?kbid=237803

This was originally talked about at -
Re-Write of the KIX32.EXE Deployment tool

If you are running Windows NT-based system, it copies the following files:
WKIX32.EXE
KIX32.EXE

If you running a Windows 9x System, it adds these files:
kx16.dll
kx32.dll
kx95.dll

The code.. Thanks to "Lonkero" for the code clean-up:
Code:

$tmp='%tmp%\'
$destdir=split('%WINDIR%',':')[0]+':\Scripts\'
IF @KIX="4.02"
;KiXtart > 4.02
$srcdir=@scriptdir
$msg=left((split(@kix,'.')[0]+split(@kix,'.')[1]),3)
ELSE
;KiXtart >= 4.12
$srcdir=@scriptdir+'\'
$msg=LEFT(JOIN(split(@kix,'.'),''),3)
ENDIF

IF 0=Exist($destdir)
MD $destdir
ENDIF

$ok=$destdir+'kix'+$msg+'.ok'

Del $destdir+'kix*.ok'
$=WRITEPROFILESTRING($ok,'General','System',@producttype)
$=WRITEPROFILESTRING($ok,'General','KIX',@kix)
$=WRITEPROFILESTRING($ok,'General','Destination',$destdir)

$FilesToCopy='kix32.exe wkix32.exe'
IF @inwin=2
$FilesToCopy=$FilesToCopy+' kx16.dll kx32.dll kx95.dll'
ENDIF

FOR EACH $ IN Split($FilesToCopy)
; $=WRITEPROFILESTRING($ok,split($,'.')[0],'KIX',COPYKIX($srcdir+$,$destdir+$))
$=WRITEPROFILESTRING($ok,split($,'.')[0],$,COPYKIX($srcdir+$,$destdir+$))
NEXT

FUNCTION COPYKIX($srcfile,$destfile)
dim $
IF Exist($srcfile)
IF Exist($destfile)
$=SetFileAttr($destfile,128)
$copykix=' >replaced'
ELSE
$copykix=' >new'
ENDIF
IF ''+GetFileSize($srcfile)+GetFileTime($srcfile)+GetFileVersion($srcfile)<>''+GetFileSize($destfile)+GetFileTime($destfile)+GetFileVersion($destfile)
COPY '$srcfile' $destfile /h
if @error
$copykix='failed'
endif
ENDIF
ENDIF
ENDFUNCTION