I have a persistent issue with a number of our Windows desktop systems where we see various MSI packages throw up error 1606 (and 1314, in the MSI log), which is a permission issue, when attempting to be installed. The location is almost always that of a user's documents, pictures or some other folder in this hierarchy - but this location does exist and it is very possible to access it (as evidenced by logfiles that can be generated and stored in said locations).
For a while I've been thinking it is because we set users' directories to UNC paths, because changing them to drive letters seems to fix the issue. However, there are instances where the UNC path hasn't seemed to cause on issue on unrelated machines with identical settings (SCCM client settings, same applied GPOs, same permissions etc) to those that do have the issues.
I've searched a lot on technet, autodesk forums and been in contact with the company that supports one of the packages we use, but nobody seems to have been able to help so far. The commonly given answer is to check the paths in the User Shell Folders key in the registry, but these are deliberately set to UNC paths.
FYI, we use UEV to virtualise a user's profile. They log on and then the following mappings occur:
- User files for their %homeshare% are stored on a network share, under \fileserver\home$\username\ (e.g. Documents, Desktop, etc.)
- User settings for %appdata% are stored on a network share, under \fileserver\setting$\username\
Each user has access to their own shares on the paths above and have full permissions over their area.
One package, for example, is set to install per-user at logon. As is typical for this issue, we then get an error saying that the desktop folder can't be accessed, when it can clearly be. However, running as administrator has, sometimes, worked - but again, this is a per-user package, so it really has to be run for the user logged in. I'm not even sure that the folders that throw an error are even used; so is this just a poorly configured MSI?
Registry settings are as below, for a standard machine:
Here are some examples of applications we use where I've seen have the errors:
AutoCAD 2014:
Error 1606 pops up when a user (some users, not all it seems) try to run AutoCAD for the first time. If an administrator (local and domain) tries to launch it, everything runs fine and it appears that settings are stored locally, rather than on their network share storage area for their settings. Sometimes. But if a regular user tries to run it, the message appears that it can't access a folder.
Autograph 3.20:
Error 1606 pops up when trying to install AutoCAD as a domain user. Eventually the installation fails, because it can't access /SendTo or /Documents
Examples from the msiexec log:
MSI (c) (40:28) [15:55:12:744]: Note: 1: 1314 2: \\fileservc\settings$\otb\Microsoft\Windows\SendTo \
MSI (c) (40:28) [15:55:12:744]: Note: 1: 1606 2: \\fileservc\settings$\otb\Microsoft\Windows\SendTo \
Error 1606.Could not access network location \\fileservc\settings$\otb\Microsoft\Windows\SendTo \.
MSI (c) (40:28) [15:57:45:230]: Product: Autograph 3.20 -- Error 1606.Could not access network location \\fileservc\settings$\otb\Microsoft\Windows\SendTo \.
Cloud Drive Mapper:
This runs for each user when they log on, to map their drive. This involves msiexec, which for most users, results in error 1606 when trying to map their desktop (whether this is what is intended or not isn't the point, its more that the logged on user can access a location that the setup can't seem to) Examples from the msiexec log:
MSI (c) (70:04) [10:00:49:185]: Product: Cloud Drive Mapper -- Error 1606. Could not access network location \\fileservc\home$\OTB\Desktop\.
MSI (c) (70:04) [10:00:49:185]: Note: 1: 1314 2: \\fileservc\home$\OTB\Desktop\
MSI (c) (70:04) [10:00:49:185]: Note: 1: 1606 2: \\fileservc\home$\OTB\Desktop\
MSI (c) (70:04) [10:00:49:185]: Note: 1: 2262 2: Error 3: -2147287038
I thought perhaps it was an issue with the local host running msiexec as "system", but the error logs seem to indicate that it is running as the logged on account:
Additionally, the file server shows no error logs in event viewer - I tried to add auditing on a test user's shared folder and checking for failure on all policies under Local Policies/Audit Policy/. Nothing shows up. The only place errors are shown is on msiexec on a local machine.
I've also tried trusting the test machine for delegation to the file server, and changing the file server's security settings to add the test computer account's with full access just to cover all bases. No difference.