Here are some Win32 methods. I'm not sure about aware about similar methods in C#.
Here is an example to start an application from memory, by reading exe file contents from memory.
http://www.rohitab.com/discuss/topic/31681-c-run-program-from-memory-and-not-file/
Encrypted script in an executable.
Place your script in encrypted form within an application( as a resource ), whenever you need to run the script, decrypt that script and write to disk as script file. Start that script,and lock that script file by following method.
HANDLE hFile1 = CreateFile(_T("Script.js"), GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
BOOL bLocked = LockFile(hFile1, 0, 0, 1024, 0);