Why does Vista not allow creation of shortcuts to “Programs” on a NonAdmin account? Not supposed to install apps from NonAdmin account?

StackOverflow https://stackoverflow.com/questions/57759

Question

I'm working on an installer (using Wise Installer, older version from like 1999).

I'm creating a shortcut in the Programs group to an EXE. I'm also creating a shortcut on the Desktop.

If the install is run from an Admin account, then I create the shortcut on the Common Desktop and Common Program Group (i.e., read from the HKEY_LOCAL_MACHINE\Explorer\Shellfor All Users). If it's installed from a NonAdmin account, then I install to the HKEY_CURRENT_USER's desktop and Program Group.

Behavior

Install on:

XP NonAdmin - Desktop and Program Shortcuts install OK.

Vista Admin - Desktop & Program Shortcuts install OK.

Vista Non-Admin, UAC off- Desktop shortcut installs, but Program Shortcut does not. However, the Program group folder they're supposed to be installed to does get created.

At the end of the install, I launch the Program Group that has the shorcut. It launches in all of the above. I can manually drag a shortcut into that folder and it works just fine.

I'm bloody baffled.

I've tried installing some other commercial apps (Opera, Foxit, FireFox) Only FireFox will install under NonAdmin (and only if you select something other than Program Files, which I was aware is off limits to nonAdmin acounts). And FF doesn't install an Uninstall Icon nor Uninstall support from the Remove Programs.

I tried installing IE 7 and it requires Admin to install. It won't even install with temporarily elevated Admin.

Perhaps the idea is that you're not supposed to install software in Vista from a NonAdmin account?

Was it helpful?

Solution

Vista does some nifty transparent redirection to provide backwards compatibility with non-vista applications. Try installing to the All Users location as a non-admin, and Vista should transparently put your shortcuts somewhere unique to that user.

OTHER TIPS

I had a permissions issue with an installer I created when users started installing on Vista. What solved my problem was renaming the installer to install.exe (or setup.exe).

-Dave

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top