Two solutions to the permissions problem:
You need to
set the appropriate permissions to Read from the source and Write to the target location
for the user(s) of the exe.
OR
You can
impersonate a user with such permissions (in the code, use the credentials of another user to perform the action).
**
See A complete Impersonation Demo in C#.NET[^]
Cheers,
Edo