[Starkit] SDX string customization of Windows starpacks

Jean-Claude Wippler jcw at equi4.com
Tue Mar 15 12:20:54 CET 2005


There's a new tentative revision of SDX which can customize 
version/description strings in a Windows executable.  This is 
particularly useful for Windows XP, which shows such strings as balloon 
popup when the mouse pointer is hovering over the exe.

This code was submitted a long time ago by Aaron Faupell, and it's 
taken me ages to get to it and integrate it with SDX.  Better late than 
never, I hope.

The SDX starkit is at http://www.equi4.com/pub/sk/sdx-new.kit

To use it, create a "tclkit.inf" file at the top level of your app.vfs/ 
tree.  This is similar in how tclkit.ico customization is done by SDX.  
The contents of the tclkit.inf file is used in "array get" so it has to 
contain valid Tcl pairs, for example:

	FileDescription "test description"
	FileVersion 1.2.3.4
	LegalCopyright "no copyright"
	OriginalFilename blah.exe
	ProductName sdx

The presence of this file *and* the -runtime flag with a file ending in 
".exe" triggers the replacement logic when you run "sdx wrap".  You 
have to include all strings you want to see in the exe, because 
existing strings are dropped and only the ones you specify will go in.

A report of what gets added will be displayed on stdout.  There's a 
limit on what can go in, since the existing area is overwritten, but it 
looks like that limit is not very low.

There is one ugly caveat: this only works on little-endian 
architectures (such as x86), since it requires 2-byte Unicode, and that 
has a different byte order on for example PowerPC's.  For now, creating 
a Win32 starpack from Mac OS X will not do the above customization 
step.

I'd love to find a way out of this, but short of going to the 
byte-level and doing everything there I see no solution.  If you want 
to tackle this or know of a way to make unicode encoding little-endian 
on a big-endian machine, please share it.

-jcw



More information about the Starkit mailing list