Assuming the program was properly written, and will actually work when running as a standard user, you can manifest it to run as standard user.
Note: If the program didn't work on Windows XP, it will continue to fail on Windows Vista or Windows 7. You can test this application by logging into Windows XP and seeing if it works. (You do login to Windows XP as a standard user, right?)
If the program fails to run correctly on Windows XP as a standard user, it will fail to run on Windows 7 as a standard user. If you must run the program as an administrator on Windows XP, you must run the program as an administrator on Windows 7.
If you're satisfied that the program doesn't need to be run as an administrator, you can add a Manifest instruction Windows that it should be run as the standard user that you are.
Create the manifest file in the same folder as your application. e.g.,
Goldwave.exe you create:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<description>Description of your application</description>
<!-- Identify the application security requirements. -->
Note: This is a so-called external manifest, because it's in a separate file. It's entirely possible that the application already has a manifest.
Manifests were introduced with Windows 2000 as a way to declare dependencies on certain versions of DLLs. One common use of that manifest came along with Windows XP, for programs to declare their dependancy on version 6 of
comctl32.dll – so that the application was "themed".
If the application already has an embedded manifest, Windows will ignore any external manifest. In that case you'd need to use Resource Hacker to modify the embedded
RT_MANIFEST (resource type 24) manifest.
The next thing you can do is check the registry to see if someone's already applied an elevate shim to your program. Load Regedit and check:
In there you will likely find a large number of programs listed, with their space-separated shims:
- C:\Program Files (x86)\ACDSee32\ACDSee32.exe
- C:\Program Files (x86)\Google\Picasa3\Picasa3.exe
- C:\Program Files (x86)\skiStunt\skiStunt\bin\skiStunt.exe
- C:\Program Files (x86)\Steam\Steam.exe
- C:\Program Files (x86)\SysInternals\autoruns.exe
- C:\Program Files (x86)\Windows Live\Messenger\msnmsgr.exe
- D:\Games\Call of Duty\CoDSP.exe
Check that your program isn't in there. You can also find a similar set of entries (the ones for "all users") in: