Version 8 of Icons for Tclkit 8.5.8

Updated 2009-11-22 12:55:18 by MHo

MHo 2009-11-20: I noticed that the method described in http://www.equi4.com/wikis/equi4/267 does not work anymore with starkits 8.5.8 downloaded from http://www.patthoyts.tk/tclkit.html . Does anyone have an easy solution? It seems that the format of the embedded icons changes from time to time, as a look with reshacker shows.

Duoas 2009-11-20: Take a look at Custom Icons For Win32 Starpacks - The Real Story . Hope this helps.

MHo Thanks. But it should be possible the old way too - just copy the appropiate tclkit.ico to the root of the vfs and enverything else should go automatically. I just couldn't figure out how the iconset is organized. My guess is:

  1. 64x64 32bit
  2. 48x48 32bit
  3. 32x32 32bit
  4. 24x24 32bit
  5. 16x16 32bit
  6. 48x48 24bit
  7. 32x32 24bit
  8. 24x24 24bit
  9. 16x16 24bit
  10. 48x48 8bit
  11. 32x32 8bit
  12. 24x24 8bit
  13. 16x16 8bit

The size of the .ICO is 57022 bytes. But if I modify some Icons inside such an icon set and try to wrap my starpack again, sdx complaines about wrong sizes like that:

 customizing tclkit.ico in executable
  icon 64x64/256: replaced
  icon 48x48/256: replaced
  icon 32x32/256: replaced
  icon 24x24/256: replaced
  icon 16x16/256: replaced
  icon 48x48/256: NOT SAME SIZE
  icon 32x32/256: NOT SAME SIZE
  icon 24x24/256: NOT SAME SIZE
  icon 16x16/256: NOT SAME SIZE
  icon 48x48/256: NOT SAME SIZE
  icon 32x32/256: NOT SAME SIZE
  icon 24x24/256: NOT SAME SIZE
  icon 16x16/256: NOT SAME SIZE

What sdx is saying seems to be wrong. There is, e.g., no 64x64/256colour icon in the icon set. Maybe sdx isn't up to date...

Duoas No, JCW's method has never been too reliable. If you take a look at the code in SDX to replace icon files, you'll notice that it is very simplistic and makes some assumptions about the replacement icon. It should be possible, but it seems that JCW has other things to think about before implementing code to do everything necessary to replace Win32 resources in a UPX compressed file without limitations.

Why not just use UPX and ResHacker ? It doesn't add any significant complexity to your build process, and works perfectly every time.

MHo Here is a variant of the batch from the link mentioned above which works for me now:

    @echo off
rem based on: http://wiki.tcl.tk/10922
    attrib -r "%1.exe"
    copy "%1.exe" "work1_%1.exe"
    upx -d "work1_%1.exe"
    reshacker -delete "work1_%1.exe" , "work2_%1.exe" , icongroup,,
    echo TK ICON "%1.ico" > "rc_%1.rc"
    rc "rc_%1.rc"
    reshacker -add "work2_%1.exe" , "work3_%1.exe" , "rc_%1.res" , ,,
    upx "work3_%1.exe"
    copy "work3_%1.exe" "%1.exe"
    attrib +r "%1.exe"
    erase "work1_%1.exe"
    erase "work2_%1.exe"
    erase "work3_%1.exe"
    erase "rc_%1.rc"
    erase "rc_%1.res"