Jump to content

  • Log In with Google      Sign In   
  • Create Account

making an app prompt for administrator privilages


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
7 replies to this topic

#1 sheep19   Members   -  Reputation: 413

Like
0Likes
Like

Posted 05 January 2012 - 02:01 AM

Hi. I have just finished my application using VC++ on Windows. I used innoSetup to make an installer and installed it - until now, everything works fine.

However, the program needs to create a file, and because the program is started without administrator privilages, the system won't let me. This is fixed when I manually run the program as an administrator. What I would like is, before my application starts, to prompt the user to grant administrator privilages so I can open files freely.

Is there a way to do that? (it needs to be done from code if possible)

Sponsor:

#2 assainator   Members   -  Reputation: 685

Like
2Likes
Like

Posted 05 January 2012 - 04:04 AM

You could always work around the issue by creating the files in the user/appdata/ folder.
"What? It disintegrated. By definition, it cannot be fixed." - Gru - Dispicable me

"Dude, the world is only limited by your imagination" - Me


#3 wack   Members   -  Reputation: 1347

Like
2Likes
Like

Posted 05 January 2012 - 06:00 AM

In general, it's bad practice to require admin priviliges, unless your app is for some kind of system configuration.

If this is the case, you can do it in the manifest: http://msdn.microsoft.com/en-us/library/bb756929.aspx

#4 cignox1   Members   -  Reputation: 723

Like
0Likes
Like

Posted 05 January 2012 - 08:49 AM

I think that if your app requires admin privileges to be installed, then it is 'correct' that an admin account is needed. Either your app does not require admin privileges (so change the installer) or accept that the user must log in as an admin.

That's only my opinion though :-)

#5 jbadams   Senior Staff   -  Reputation: 19350

Like
1Likes
Like

Posted 05 January 2012 - 05:34 PM

You could always work around the issue by creating the files in the user/appdata/ folder.

I wouldn't really call this a work-around -- putting your files in userdata or appdata is the recommended practice for the platform in question (i.e. Windows), so rather than being a work-around this is really How Your Program Should Work™.

#6 Aardvajk   Crossbones+   -  Reputation: 6189

Like
1Likes
Like

Posted 07 January 2012 - 03:11 AM

I think that if your app requires admin privileges to be installed, then it is 'correct' that an admin account is needed. Either your app does not require admin privileges (so change the installer) or accept that the user must log in as an admin.

That's only my opinion though :-)


Running an application under an administrator account doesn't automatically impart administrator privileges to the application. And pretty much every installer needs administrator privileges to install an application in order to write to Program Files and to the registry and so on.

Agree with all the above - unless you have a very good reason to need to write files in restricted areas, use the app data etc directories. This has been best practice for quite a while now.

#7 sheep19   Members   -  Reputation: 413

Like
0Likes
Like

Posted 09 January 2012 - 03:32 PM


I think that if your app requires admin privileges to be installed, then it is 'correct' that an admin account is needed. Either your app does not require admin privileges (so change the installer) or accept that the user must log in as an admin.

That's only my opinion though :-)


Running an application under an administrator account doesn't automatically impart administrator privileges to the application. And pretty much every installer needs administrator privileges to install an application in order to write to Program Files and to the registry and so on.

Agree with all the above - unless you have a very good reason to need to write files in restricted areas, use the app data etc directories. This has been best practice for quite a while now.


Thank you - I forgot about the AppData directory :) Is there a way to access it without specifying the full path though?

#8 jbadams   Senior Staff   -  Reputation: 19350

Like
0Likes
Like

Posted 10 January 2012 - 12:52 AM

I forgot about the AppData directory Is there a way to access it without specifying the full path though?

Absolutely -- and again, using the full path would actually be bad practice -- take a look at the SHGetKnownFolderPath function (or for older versions of Windows, SHGetFolderPath). You don't want to hard-code the full path because the folder might occasionally be in a different place, as well as to make your software more future proof by not relying on an implementation detail that may be changed in future versions of Windows.

Hope that helps! Posted Image




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS