This is usually caused by missing / corrupted dependant assemblies or subdeps, try a thing , get depends.exe ( get it from ms visual studio 98 or search it), and open with it spring.exe
If you see some dll red, means that you are missing it, get them and play
Depends.exe always leaves me with a horrible swath of red all over. I've only used it on my 64 bit system, and there it stated pulling in a lot of dlls that didn't match the bits of the app and erroring out.