This is not a file system permissions issue - it's about 'trust'.
Is this a web application? If so, you need to increase the trust level.
You might also be having issues if the program is running from a network share, or if it's loading an assembly from a network share (although I think some of those rules changed during .Net 2's lifetime).
Google .net 'full trust' - or, actually, the exception you're getting - you'll reach an answer.
There's this SO too: System.Security.Permissions.FileIOPermission when using MEF to load dll's
(Update)
Since it's not an Asp.Net application - you might need to Request Permission for a Named Permission Set - requesting the "FullTrust"
set as per the example given.
However, I think there's something you're not saying about the app - because to my mind if it were being built and run from your machine then you shouldn't need to do this.
If, for example, the exe (or DLL that is requesting this permission) has been copied to the target machine from an untrusted network location, then it might have been blocked by the OS - in which case it will be forced to run in partial trust. You could try the steps outlined on this article on sevenforums, checking each of the binaries in the application folder to make sure none have been blocked and, if so, unblock them.
Then try running it again.