Solved

Why is my Delphi App now requiring admin privileges?

Posted on 2014-04-25
8
451 Views
Last Modified: 2014-05-01
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?

Thanks
0
Comment
Question by:RainMakker
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 36

Accepted Solution

by:
Geert Gruwez earned 500 total points
ID: 40024432
admin privs depends on where your app writes items

"program files" is for installing, win dirs also etc ...
check the complete uac explanation
http://technet.microsoft.com/en-us/library/cc709628%28v=ws.10%29.aspx

technically you only need admin privs if you write to admin folders
> solve this by writing to user folders / reg keys
0
 
LVL 37

Expert Comment

by:Bing CISM / CISSP
ID: 40024474
> I do write several registry values

basically, this might be the main reason. I also guess the registry items to write are under HKLM?
0
 

Author Comment

by:RainMakker
ID: 40024708
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.
0
 
LVL 37

Expert Comment

by:Bing CISM / CISSP
ID: 40024721
> The registry values are saved under HKLM.

is it possible for your application to avoid writing there?
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 78

Expert Comment

by:David Johnson, CD, MVP
ID: 40024804
you could use the app comparability toolkit and create a shim
http://technet.microsoft.com/en-us/library/ff720131.aspx
0
 

Assisted Solution

by:RainMakker
RainMakker earned 0 total points
ID: 40025346
Here is where I finally found the how-to side of things:

http://delphi.about.com/od/delphitips2009/qt/delphi-vista-registry-run-on-startup.htm

Thank you Geert Gruwez for your article.
0
 
LVL 36

Expert Comment

by:Geert Gruwez
ID: 40026602
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
0
 

Author Closing Comment

by:RainMakker
ID: 40034113
Geert Gruwez gave me the theory, but not the how-to.
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Lockdown of laptops 10 40
LAN or WAN ? 11 66
Create a path if not exists 7 47
Delphi inherited method 6 42
Several part series to implement Internet Explorer 11 Enterprise Mode
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
The viewer will learn how to successfully create a multiboot device using the SARDU utility on Windows 7. Start the SARDU utility: Change the image directory to wherever you store your ISOs, this will prevent you from having 2 copies of an ISO wit…
With the advent of Windows 10, Microsoft is pushing a Get Windows 10 icon into the notification area (system tray) of qualifying computers. There are many reasons for wanting to remove this icon. This two-part Experts Exchange video Micro Tutorial s…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now