If your app needs admin privilege to run, then it will need elevation to admin privilege at some point. The normal way to do this is embed an elevation manifest, your build tool probably has (in the linker) a UAC setting for requireAdministrator. This is the way everything works - elevation to administrator privilege requires user consent, and elevation dialogs are normal when an app starts. The alternative is to save files in some other location that doesn't require admin privilege. If you need to do that saving of files rarely, then do it an another program that you start and it will ask for elevation, then your app isn't asking every time it runs.
I wouldn't make the C drive available to limited users - that allows access of limited users to everything.