Why are you killing taskhost / dllhost / conhost? Seems unnecessary and dangerous to be killing random Windows processes. I would advise you to remove that part. In addition, this part:
taskkill /t /f /im Steam.exe *32
does not work because you can't (and don't need to) specify *32 for 32-bit processes. Also, the @shift /0 at the top of your script seems completely unnecessary.
And finally, why are there 32- and 64-bit versions if they both do the same thing? Why are you distributing this as an exe when it could just be a batch script? (in fact it is, compiled into an exe)