On my XP laptop, I have 38 files in the %tmp% directory: update1 ... update38. It turns out that these are from tlclient. Somehow tlclient fails to remove this temporary file. The code looks quite fine, but there must be something wrong.
Btw, I'm also suggesting that we add error handling for unlink(), plus change the name to something more descriptive ("tlupdate"?).