Of course, you can run .net program without installation. Please check your program whether you are using unmanaged code, interop code etc. If you worked with unmanaged code, it's not portable and you need to run on same type of platform sometime.
Another possibility is the code access security. Make sure your program has access right to run by manipulating Code Access Security in .NET configuration. or you can test by logging in the OS with an administrator account andcopying the whole folder of your program to C drive and run.
Good Luck!
Han