cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
KathyMorey
Level 10

Per-Machine Install Desktop Icon "Location Not Found" Error

Using InstallShield 2009, Basic MSI

We have a per-machine install. One component has an executable as its key file with a two non-advertised shortcuts - one to a folder under and the other to .

On some of the newer OS's, an error message pops up when the install runs:

(Location is not available)
C:\Users\\Desktop refers to a location that is unavailable. It could be on a hard drive on this computer, or on a network. Check to make sure that the disk is properly inserted, or that you are connected to the Internet or your network, and then try again. If it still cannot be located, the information might have been moved to a different location.


If I look at the system, I see the shortcut installed in the proper folder, such as C:\Users\Public\Desktop. If I look at the log file, I see being initially resolved to the incorrect C:\Users\\Desktop.

If I reboot the machine, the desktop icon displays properly and works fine.

The MSI has a custom action scheduled at the beginning of each sequence that sets ALLUSERS to 1 to force a per-machine install.

I'm at my wit's end, here. I don't know why is resolving to the user's folder instead of to the machine's folder. I don't know why the shortcut installs to the correct location but still cause the operating system to pop up the error message. I don't know how to fix the issue so that the icons display properly without rebooting the system.

Has anyone seen this? Do I need to set a different value for ALLUSERS? Is there a different way to set up a shortcut to the desktop? Should I be arguing with management to not set icons to the desktop?

Any help would be greatly appreciated here...
Labels (1)
0 Kudos
4 Replies
girishkatti123
Level 7

Is it a Windows Vista Operating System.
Set ALLUSERS=2 in the property table to override the property set by installer during installation.

Windows Vista: Set the ALLUSERS property to 2 and Windows Installer complies with User Account Control (UAC). If the user has user access privileges, and ALLUSERS=2, the installer performs a per-machine installation only if Admin credentials are provided to the UAC dialog box. If UAC is enabled and the correct Admin credentials are not provided, the installation fails with an error stating that administrator privileges are required. If UAC is disabled by the registry key, group policy, or the control panel, the UAC dialog box is not displayed and the installation fails with an error stating that administrator privileges are required.
0 Kudos
KathyMorey
Level 10

I appreciate your answer, but I'm don't understand how that will resolve my issue. We require our customers to install using admin privileges and our install always installs per-machine, with UAC on.

My issue is that the DesktopFolder property doesn't seem to be resolving to the all users or public desktop folder, as it should for a per-machine installations.
0 Kudos
girishkatti123
Level 7

The installer sets the DesktopFolder property to the full path of the current user's Desktop folder. If an "All Users" profile exists and the ALLUSERS property is set, then this property is set to the folder in the "All Users" profile.
0 Kudos
KathyMorey
Level 10

Setting the ALLUSERS property to 1 accomplishes the same thing as setting it to 2, so it should be setting DesktopFolder to the all users profile. Hence my confusion. And in fact my shortcuts are getting installed in the proper all users folder, such as C:\Users\Public\Desktop.

In the log file, I can see the initial resolution of the target folder for DesktopFolder get resolved as C:\Users\\Desktop. Then when the shortcut gets created, there's another to call to get the folder and it gets the correct all users folder and puts the shortcut in the proper place. But as the install finishes, I get what looks like an OS error about C:\Users\\Desktop being an invalid location.

I also see in RemoveFolders that it is trying to remove C:\Users\\Desktop, although that location is not in my CreateFolders or RemoveFolders tables.

I'm really stumped here.
0 Kudos