#128859 - 2004-11-03 01:11 AM
Kix32.exe is too large, I use an old version...
|
ciper
Fresh Scripter
Registered: 2004-11-03
Posts: 36
|
Not sure I understand the continual increase in size of the KIX executable over time. Are the developers getting lazy on optimization?
The older version Ive been using is 61k, one quarter the size of the current version.
On top of that, using an executable compression application like UPX ( http://upx.sourceforge.net/ GNU GPL) will give me a file size of under 100kb on the current version and 21k on the older version I have!!!
Before you start to ask, when you have well over 1000 machines at a single site (with sites all over the world) the difference between the two versions I mention is about 200 megabytes of extra traffic the domain controllers have to deal with every morning.
So what gives?
Edited by ciper (2004-11-03 01:16 AM)
|
Top
|
|
|
|
#128861 - 2004-11-03 01:35 AM
Re: Kix32.exe is too large, I use an old version.
|
ciper
Fresh Scripter
Registered: 2004-11-03
Posts: 36
|
How I see it is you have a base set of code that takes most of the file size then additional code for those added features. If the current version is 4 times the size of version 3.21 shouldnt have at least 5-6 times the features?
When I do a kix32 /? on the version Im using it reports:
>>> KiXtart 95 3.21
Windows NT 3.x / Windows 95 logon script processor and/or registry editor.
Usage : KIX32 [script1] [...] [$var=123]
File size is 61kb
You may think 241 is relatively small when thinking of transfering this file once. Try transfering it thousands of times along with the other files used during your login (registry settings, policy files, scripts themselves) and the burden on the servers becomes noticable.
Edited by ciper (2004-11-03 02:10 AM)
|
Top
|
|
|
|
#128865 - 2004-11-03 02:12 AM
Re: Kix32.exe is too large, I use an old version.
|
ciper
Fresh Scripter
Registered: 2004-11-03
Posts: 36
|
Copying to the client is possible, I could add something like
%systemroot%\system32\FC.exe %temp%\KIX32.EXE %0\..\KIX32.EXE /LB1 > NUL
if %errorlevel% == 1 GOTO KIXDIF ;different than DC
if %errorlevel% == 2 GOTO KIXDIF ;not found
echo kix is the same >> "%temp%\loginsteps.txt"
goto KIXSAME
:KIXDIF
echo kix is dif >> "%temp%\loginsteps.txt"
copy /Y %0\..\KIX32.EXE %temp% > NUL
:KIXSAME
That way I have version control in case it changes...
Edited by ciper (2004-11-03 02:29 AM)
|
Top
|
|
|
|
#128866 - 2004-11-03 02:26 AM
Re: Kix32.exe is too large, I use an old version.
|
ciper
Fresh Scripter
Registered: 2004-11-03
Posts: 36
|
Quote:
Quote:
I use an old version
Good for you. So then why are you complaining? You want the features of the latest version but don't want to pay for it?
You are obsessing over size. 200k is peanuts related to what else goes up and down the pipe. Like Shawn said, copy it to the client if you are so concerned.
I have single spreadsheets that add up to more that what your DC transfers in an entire day and I am not obsessing.
Sounds like both of you live by the idea that if you have extra bandwith you might as well use it.
Why no interest in optimization? If I can grab a executable compression application found on google in 5 seconds and reduce the file size by 60% that leads me to believe more could be done in development.
All of this adds up to the time the user spends waiting for his machine. In the end 5 seconds here and there may not sound like much but if you can reduce the wait time 15 seconds overall (trying to optimize in any way you can) and multiply that by the number of employees, the number of work days and the average salary you just saved a good chunk of change!
Oh and to give you an idea quickly, I do have extremely fat pipes to the machines on the network. Ill share with you because Im proud of it
Users are connected to a group of Cisco 4507 in every area with dual sup and 5 ws-x4548-gb cards. Thats 10/100/1000 to the desktop (and many machines have gigabit nics). Those are dual fiber attached to two 6513. The servers are dual connected to ws-6748-ge in the 6513s which have sup 720s, dual copper load balanced GB connections to most of the servers.
I understand that additional features need an increase in file size. What I cant see is such a large increase that relate to a few useful features and a few more less often used features.
I propose not only getting the main kix32 executable file size smaller in some way but also the possibility of a "light" version geared towards the most common used commands!
Edited by ciper (2004-11-03 02:40 AM)
|
Top
|
|
|
|
#128867 - 2004-11-03 02:44 AM
Re: Kix32.exe is too large, I use an old version.
|
ciper
Fresh Scripter
Registered: 2004-11-03
Posts: 36
|
UPX output
C:\temp>upx --best -v kix32.exe Ultimate Packer for eXecutables Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 UPX 1.25d Markus F.X.J. Oberhumer & Laszlo Molnar Jun 29th 2004
File size ---------- Ratio---- Format --- Name -------------------- ------ ----------- ----------- 241664 -> 99328 41.10% win32/pe kix32.exe
Packed 1 file.
|
Top
|
|
|
|
#128870 - 2004-11-03 03:56 AM
Re: Kix32.exe is too large, I use an old version.
|
ciper
Fresh Scripter
Registered: 2004-11-03
Posts: 36
|
"BTW, your batch file with FC.EXE would not lessen the network traffic since the bytes needed for a file compare is the same as if you just ran it from the DC. The way some people manage versioning is to calculate and store the CRC of the seed copy and then check the CRC on just the local copy. "
Haha, I love it. How can you easily compare the CRC of both files with tools included in a standard build of windows?
I like the Makexe idea, the executable could trim uneeded code from the kix32 exeutable and turn out to be smaller than the original kix32.exe !
|
Top
|
|
|
|
#128871 - 2004-11-03 04:00 AM
Re: Kix32.exe is too large, I use an old version.
|
ciper
Fresh Scripter
Registered: 2004-11-03
Posts: 36
|
The slow links I mention arent slow in terms of speed its latency, point to point dedicated connections and VPN over the internet both get slow. For example a short run like boulder colorado to Toronto Ontario with a T3 is 95ms with the best provider. The smaller offices using 384k dsl with VPN are 160ms to 200ms usually
|
Top
|
|
|
|
#128872 - 2004-11-03 04:05 AM
Re: Kix32.exe is too large, I use an old version.
|
ciper
Fresh Scripter
Registered: 2004-11-03
Posts: 36
|
Could I read the date of the two kix32.exe files and compare them? Then if I ever want a new version copied to the machine I just set the date into the future.
|
Top
|
|
|
|
#128873 - 2004-11-03 04:10 AM
Re: Kix32.exe is too large, I use an old version...
|
NTDOC
Administrator
Registered: 2000-07-28
Posts: 11624
Loc: CA
|
Well, just to maybe shed a ray of light on the subject as I see it.
On the UPX website forum for "Our Happy Customers" I see 59 posts.
According to Microsoft claims, they tested over 2 Million applications for compatiblilty with Windows XP before RTM.
When writing an application using Microsoft Assembler and Visual C v6.0 one has to make many choices for compiling for the best size. This process often includes hundreds of various resources that Microsoft has worked on compatibiltiy testing already to a degree further then any other vendor in this area.
I don't think anyone is disagreeing that it is not possible, but come on, one has to be realistic as well. This is not the only compressor out there and were not talking a 5MB+ DLL like many applications have.
The author writes KiXtart on his own time and has to debug on his own time to a degree he feels comfortable with making a beta version available. By now throwing in the mix a compression routine that has issues as well. (I see 132 posts for "Troubles with decompression of packed exes")
Your scripts can also be setup so that the user doesn't even see or know it's running, so what are we really talking about here? An IDEOLOGY which may or may not be accepted by everyone.
You can easily compress your version though as you already know and run along happy. I can't speak for Ruud, but if I were in his shoes I don't think I'd care to spend the extra time and effort involved to achieve such a small gain at the expense of potential unknown bugs or other issues.
As for the newer features in the lastest KiXtart, there are hundreds of minor fixes, updates, new features and yes, as Shawn has said, a LOT of current size is due to still maintaining Windows 9x support.
If you know of a smaller/better/as-complete scripting language please let us know. Have you checked the size of Perl/Python/VBscript ? They are MUCH larger then KiXtart and require external libraries to support anything close to what KiXtart supports in a single EXE.
|
Top
|
|
|
|
#128876 - 2004-11-03 04:29 AM
Re: Kix32.exe is too large, I use an old version.
|
Howard Bullock
KiX Supporter
Registered: 2000-09-15
Posts: 5809
Loc: Harrisburg, PA USA
|
I store Kix32.exe, crc32.exe, and 70+KB of script code on the client that is executed globally by 35,000 clients daily. I much prefer the added functionality in Kix32 and with it staged locally, I have no issues that site.
If you want to see my batch file for launching this it is here: LOGON.BAT (the overkill version)
if Kix32.exe or the scripts are altered or otherwise corrupted they will be replaced because they will fail a CRC32 check. If I add updated code on the DC again the locaaly cached files fail the CRC and will be updated.
You must not be doing very much with your code if you are elated with 3.21.
|
Top
|
|
|
|
#128877 - 2004-11-03 09:18 PM
Re: Kix32.exe is too large, I use an old version.
|
ciper
Fresh Scripter
Registered: 2004-11-03
Posts: 36
|
Thats true, I try to keep the number of support files to a minimum, so far the script uses/copies cusrmgr.exe 78k (great for adding domain admins back into the local admin group using the users security) pskill.exe 92k (able to stop processes that even taskmanager cant) ntconfig.pol 256k (for control over xp sp2 firewall policy) poledit and associated files 212k (only way to locally change firewall policy when controlled by policy) urtlogon.exe 60k (changes users to vlan based on business unit) 3 reg files 7k (various settings to the desktop) 2 kix script 6k (service pack 2 deployment to users of certain business units, symantec antivirus install and mcafee uninstall) 5 batch files 11k (too much to explain) and a batch file compiled/encrypted to exe to hide contents 58k (sets local admin password, checks for antivirus install etc..) and some other random files like office template/font defaults Overall about 800k
You didnt answer the question though! Ill try to look too and post what I find.
Quote:
Quote:
Haha, I love it. How can you easily compare the CRC of both files with tools included in a standard build of windows?
Hmmm... KiX is not included standard with WIndows but you use it. Neither is UPX.
|
Top
|
|
|
|
Moderator: Lonkero, ShaneEP, Jochen, Radimus, Glenn Barnas, Allen, Ruud van Velsen, Mart
|
0 registered
and 920 anonymous users online.
|
|
|