Why is my Delphi App now requiring admin privileges?

I have a Delphi app, originally written 12 years ago in Delphi 5 (as I recall).  Every year or so I am asked by my client to update and make some changes.  My last version was with Delphi 2009 and it's been running great for several years (even on Windows 8).  

Now he wants some changes and I decided to recompile in Delphi XE4.  Suddenly it can't be run unless you specify Run as Administrator.  The problem is, my client has clients all over the world who use this.  Few are tech savvy enough to handle this simple task (of permanently marking it to run as administrator).

I do write several registry values.

Is there something in Delphi XE4 that I can set to stop this?  I have yet to add his new features, so I'm still on the same code that works when compiled in Delphi 2009.  

On XE4 I have updated the 3rd party tools I'm using such as: Advantage Database (11.1), ReportBuilder (15.03), TMS Software components.

Any ideas of what’s going on?

Who is Participating?
Geert GConnect With a Mentor Oracle dbaCommented:
admin privs depends on where your app writes items

"program files" is for installing, win dirs also etc ...
check the complete uac explanation

technically you only need admin privs if you write to admin folders
> solve this by writing to user folders / reg keys
bbaoIT ConsultantCommented:
> I do write several registry values

basically, this might be the main reason. I also guess the registry items to write are under HKLM?
RainMakkerAuthor Commented:
My program installs to C:\MyApp.  This is because most people use their computer ONLY for this specialized application and the tech support guys are not computer savvy.  So this makes it easy for them to do the very few things they ever need to do with files.

The registry values are saved under HKLM.
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

bbaoIT ConsultantCommented:
> The registry values are saved under HKLM.

is it possible for your application to avoid writing there?
David Johnson, CD, MVPOwnerCommented:
you could use the app comparability toolkit and create a shim
RainMakkerConnect With a Mentor Author Commented:
Here is where I finally found the how-to side of things:


Thank you Geert Gruwez for your article.
Geert GOracle dbaCommented:
the manifest approach is a joke when you have multiple apps

having support guys being not computer savvy ...
that's new ... i'm betting they don't have knowledge of your app, but are very savvy on how to put computers together, hardware, network, installed all kinds of OS.

usually when we create delphi programs we provide the support guys with info about our apps
like what privs are required, what paths are being used, what it does in general

in return they came up with a global policy for all our apps which also solved the uac problem
RainMakkerAuthor Commented:
Geert Gruwez gave me the theory, but not the how-to.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.