When installing Autodesk products via SMS as the system account we run into sporadic errors where the package runs fine as a user, but when run from sms fails with an error 1606 - can't access network location.

All the 1606 errors I have run into relate to the Windows installer trying to read / use a variable that is not populated. Different Autodesk products want to place files in different places. For example, Architectural Desktop wants to place some files in the My Documents folder, while the DWG viewer does not. The installer reads the variables from the system's registry. If running as a user it reads the variable from HKCU if running as the system account (such as via a GPO or SMS) it should read from the system registry HKEY-USERS\S-1-5-18\Software\Microsoft\Windows\Currentversion\Explorer\Shell Folders... but it appears that it is instead reading from HKEY-USERS\.DEFAULT.

I tried the fix suggest in Autodesk support article TS100633 but found the system registry was correctly populated and I was still getting the error. You can turn on verbose logging and compare a failed log to a successful log and see where it incorrectly sets a variable when the registry setting is not configured, then when it tries to read/write to that path it fails with the 1606 error that it cannot access the location because it does not exist.

The script below will populate all the default user values in the registry with the "default" values, except for the personal (my docs), app data, and local settings folder which are populated with the paths to the system account's profile. After making the changes on my test machines I did logon as a user without a profile to ensure new profile creation is not effected and indeed a new user's registry is normal (points to its own my docs folder, not the system's). I'm sending this script as a silent mandatory to all the systems to prevent further 1606 errors due to this cause. My guess is there is an error with the Windows installer technology, Autodesk's use of the installer is reading from the wrong key, or possibly the system account is being regenerated each time it runs for some reason and each time pulls its values from the default user registry... in any case, this script has been resolving the 1606 errors.'

The "default" default user settings I used came from this post which lead me to the fix - with outside help of course... hopeful this solves the same problems for others.

' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 3.1
' NAME: SetDefaultUserReg.vbs
' AUTHOR: Andy King , CDM
' DATE : 7/19/2006
' COMMENT: populates the default user registry key with the required values
' to allow Autodesk software to be installed via SMS. "Should" work for
' Wndows Xp and Windows 2000...possibly Vista. Will quit if detects NT4.
' Uncomment the Wscript.Echo statements to see what keys/folders are Set
' and or created.
On Error Resume Next

const HKEY_USERS = &H80000003

strComputer = "."

'get Os... quit if less than Win2000 (<v5)
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colOSes = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objOS in colOSes
iVersion = Left(objOS.Version,1) 'Version & build
If iVersion <5 Then
End IF

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")

Set objFSO = CreateObject("Scripting.FileSystemObject")

'Determine Windows Directory
Const WINDOWS = &H24&

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(WINDOWS)
Set objFolderItem = objFolder.Self
sWinDir = objFolderItem.Path 'grabs the path to windows or winnt

'Create Dictonary Object with all registry names/values to populate
Set oDicRegValues = CreateObject("Scripting.Dictionary")
oDicRegValues.CompareMode = TextMode

oDicRegValues.Add "AppData","c:\Documents and Settings\Default User\Application Data"
oDicRegValues.Add "Cookies","c:\Documents and Settings\Default User\Cookies"
oDicRegValues.Add "Desktop","c:\Documents and Settings\Default User\Desktop"
oDicRegValues.Add "Favorites","c:\Documents and Settings\Default User\Favorites"
oDicRegValues.Add "NetHood","c:\Documents and Settings\Default User\NetHood"
oDicRegValues.Add "Personal",sWinDir & "\system32\config\systemprofile\My Documents"
oDicRegValues.Add "My Pictures","c:\Documents and Settings\Default User\My Documents\My Pictures"
oDicRegValues.Add "PrintHood","c:\Documents and Settings\Default User\PrintHood"
oDicRegValues.Add "Recent","c:\Documents and Settings\Default User\Recent"
oDicRegValues.Add "SendTo","c:\Documents and Settings\Default User\SendTo"
oDicRegValues.Add "Start Menu","c:\Documents and Settings\Default User\Start Menu"
oDicRegValues.Add "Templates","c:\Documents and Settings\Default User\Templates"
oDicRegValues.Add "Programs","c:\Documents and Settings\Default User\Start Menu\Programs"
oDicRegValues.Add "Startup","c:\Documents and Settings\Default User\Start Menu\Programs\Startup"
oDicRegValues.Add "Local Settings",sWinDir & "\system32\config\systemprofile\Local Settings"
oDicRegValues.Add "Local AppData",sWinDir & "\system32\config\systemprofile\Local Settings\Application Data"
oDicRegValues.Add "Cache","c:\Documents and Settings\Default User\Local Settings\Temporary Internet Files"
oDicRegValues.Add "History","c:\Documents and Settings\Default User\Local Settings\History"
oDicRegValues.Add "Fonts",sWinDir & "\Fonts"

colKeys = oDicRegValues.Keys
For Each strKey In colKeys
strValueName = strKey
strValue = oDicRegValues.Item(strKey)
'WScript.Echo "Populating: " & strValueName & " [with] " & strValue
SetRegStringValue strValueName,strValue

Sub SetRegStringValue(strValueName, strValue)
'Configure the Default User Local Settings Values
strKeyPath = ".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
oReg.SetStringValue HKEY_USERS,strKeyPath,strValueName,strValue
End Sub

Sub CheckFolderExists(strValue)
'Create the corresponding paths if they do not exist
If NOT objFSO.FolderExists(strValue) Then
'WScript.Echo strValue & " does not exist, creating..."
Set objFolder = objFSO.CreateFolder(strValue)
'WScript.Echo strValue & " exists."
End If
End Sub
0 Comments   [ + ] Show Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.


Would this same vb file work for any application?
Answered 03/11/2008 by: cduplessis
Orange Senior Belt

Please log in to comment
Currently I am using it for all the Autodesk 2008 "verticals" AutoCAD 2008, Civil 3D 2008, ADT2008, MEP 2008, TrueView 2008 / also for previous version. I have modified it so it checks/fills in more default registry settings. The example below is likely missing a couple const values stored in the lager install script. But the subroutine I use is below.

I have SMS run a vbscript that runs the Autodesk network install/setup.exe that is created from the Autodesk DVD. The vbscript makes the reg change, pauses the antivirus service, runs the network install / monitors it for completion, makes some post install customizations, then resumes the antivirus service. I've used it to deploy Autodesk products to around 2000 workstations.

Sub FixAutoDeskRegIssue()
strComputer = "."

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
'Set Default User Reg Values
Set oRegDic = CreateObject("Scripting.Dictionary")
oRegDic.CompareMode = TextMode

oRegDic.Add "AppData","C:\WINDOWS\system32\config\systemprofile\Application Data"
oRegDic.Add "Cookies","C:\WINDOWS\system32\config\systemprofile\Cookies"
oRegDic.Add "Desktop","C:\WINDOWS\system32\config\systemprofile\Desktop"
oRegDic.Add "Favorites","C:\WINDOWS\system32\config\systemprofile\Favorites"
oRegDic.Add "NetHood","C:\WINDOWS\system32\config\systemprofile\NetHood"
oRegDic.Add "Personal","C:\WINDOWS\system32\config\systemprofile\My Documents"
oRegDic.Add "PrintHood","C:\WINDOWS\system32\config\systemprofile\PrintHood"
oRegDic.Add "Recent","C:\WINDOWS\system32\config\systemprofile\Recent"
oRegDic.Add "SendTo","C:\WINDOWS\system32\config\systemprofile\SendTo"
oRegDic.Add "Start Menu","C:\WINDOWS\system32\config\systemprofile\Start Menu"
oRegDic.Add "Templates","C:\WINDOWS\system32\config\systemprofile\Templates"
oRegDic.Add "Programs","C:\WINDOWS\system32\config\systemprofile\Start Menu\Programs"
oRegDic.Add "Startup","C:\WINDOWS\system32\config\systemprofile\Start Menu\Programs\Startup"
oRegDic.Add "Local Settings","C:\WINDOWS\system32\config\systemprofile\Local Settings"
oRegDic.Add "Local AppData","C:\WINDOWS\system32\config\systemprofile\Local Settings\Application Data"
oRegDic.Add "Cache","C:\WINDOWS\system32\config\systemprofile\Local Settings\Temporary Internet Files"
oRegDic.Add "History","C:\WINDOWS\system32\config\systemprofile\Local Settings\History"
oRegDic.Add "My Pictures","C:\WINDOWS\system32\config\systemprofile\My Documents\My Pictures"
oRegDic.Add "Fonts","C:\WINDOWS\Fonts"
oRegDic.Add "My Music","C:\WINDOWS\system32\config\systemprofile\My Documents\My Music"
oRegDic.Add "CD Burning","C:\WINDOWS\system32\config\systemprofile\Local Settings\Application Data\Microsoft\CD Burning"
oRegDic.Add "My Video","C:\WINDOWS\system32\config\systemprofile\My Documents\My Videos"
oRegDic.Add "Administrative Tools","C:\WINDOWS\system32\config\systemprofile\Start Menu\Programs\Administrative Tools"

strKeyPath = ".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
colKeys = oRegDic.Keys
For Each sKey in colKeys
sValName = sKey
sVal = oRegDic.Item(sKey)
SetHkuRegValue strKeyPath,sValName,sVal

'Set System Reg Values
Set oSysRegDic = CreateObject("Scripting.Dictionary")
oSysRegDic.CompareMode = TextMode

oSysRegDic.Add "AppData","C:\WINDOWS\system32\config\systemprofile\Application Data"
oSysRegDic.Add "Cookies","C:\WINDOWS\system32\config\systemprofile\Cookies"
oSysRegDic.Add "Desktop","C:\WINDOWS\system32\config\systemprofile\Desktop"
oSysRegDic.Add "Favorites","C:\WINDOWS\system32\config\systemprofile\Favorites"
oSysRegDic.Add "NetHood","C:\WINDOWS\system32\config\systemprofile\NetHood"
oSysRegDic.Add "Personal","C:\WINDOWS\system32\config\systemprofile\My Documents"
oSysRegDic.Add "PrintHood","C:\WINDOWS\system32\config\systemprofile\PrintHood"
oSysRegDic.Add "Recent","C:\WINDOWS\system32\config\systemprofile\Recent"
oSysRegDic.Add "SendTo","C:\WINDOWS\system32\config\systemprofile\SendTo"
oSysRegDic.Add "Start Menu","C:\WINDOWS\system32\config\systemprofile\Start Menu"
oSysRegDic.Add "Templates","C:\WINDOWS\system32\config\systemprofile\Templates"
oSysRegDic.Add "Programs","C:\WINDOWS\system32\config\systemprofile\Start Menu\Programs"
oSysRegDic.Add "Startup","C:\WINDOWS\system32\config\systemprofile\Start Menu\Programs\Startup"
oSysRegDic.Add "Local Settings","C:\WINDOWS\system32\config\systemprofile\Local Settings"
oSysRegDic.Add "Local AppData","C:\WINDOWS\system32\config\systemprofile\Local Settings\Application Data"
oSysRegDic.Add "Cache","C:\WINDOWS\system32\config\systemprofile\Local Settings\Temporary Internet Files"
oSysRegDic.Add "History","C:\WINDOWS\system32\config\systemprofile\Local Settings\History"
oSysRegDic.Add "My Pictures","C:\WINDOWS\system32\config\systemprofile\My Documents\My Pictures"
oSysRegDic.Add "Fonts","C:\WINDOWS\Fonts"
oSysRegDic.Add "My Music","C:\WINDOWS\system32\config\systemprofile\My Documents\My Music"
oSysRegDic.Add "CD Burning","C:\WINDOWS\system32\config\systemprofile\Local Settings\Application Data\Microsoft\CD Burning"
oSysRegDic.Add "My Video","C:\WINDOWS\system32\config\systemprofile\My Documents\My Videos"
oSysRegDic.Add "Administrative Tools","C:\WINDOWS\system32\config\systemprofile\Start Menu\Programs\Administrative Tools"

strKeyPath = "S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
colKeys = oRegDic.Keys
For Each sKey in colKeys
sValName = sKey
sVal = oRegDic.Item(sKey)
SetHkuRegValue strKeyPath,sValName,sVal

'Set LocalService Reg Values
Set oLSRegDic = CreateObject("Scripting.Dictionary")
oLSRegDic.CompareMode = TextMode

oLSRegDic.Add "AppData","C:\Documents and Settings\LocalService\Application Data"
oLSRegDic.Add "Cookies","C:\Documents and Settings\LocalService\Cookies"
oLSRegDic.Add "Desktop","C:\Documents and Settings\LocalService\Desktop"
oLSRegDic.Add "Favorites","C:\Documents and Settings\LocalService\Favorites"
oLSRegDic.Add "NetHood","C:\Documents and Settings\LocalService\NetHood"
oLSRegDic.Add "Personal","C:\Documents and Settings\LocalService\My Documents"
oLSRegDic.Add "PrintHood","C:\Documents and Settings\LocalService\PrintHood"
oLSRegDic.Add "Recent","C:\Documents and Settings\LocalService\Recent"
oLSRegDic.Add "SendTo","C:\Documents and Settings\LocalService\SendTo"
oLSRegDic.Add "Start Menu","C:\Documents and Settings\LocalService\Start Menu"
oLSRegDic.Add "Templates","C:\Documents and Settings\LocalService\Templates"
oLSRegDic.Add "Programs","C:\Documents and Settings\LocalService\Start Menu\Programs"
oLSRegDic.Add "Startup","C:\Documents and Settings\LocalService\Start Menu\Programs\Startup"
oLSRegDic.Add "Local Settings","C:\Documents and Settings\LocalService\Local Settings"
oLSRegDic.Add "Local AppData","C:\Documents and Settings\LocalService\Local Settings\Application Data"
oLSRegDic.Add "Cache","C:\Documents and Settings\LocalService\Local Settings\Temporary Internet Files"
oLSRegDic.Add "History","C:\Documents and Settings\LocalService\Local Settings\History"
oLSRegDic.Add "My Pictures","C:\Documents and Settings\LocalService\My Documents\My Pictures"
oLSRegDic.Add "Fonts","C:\WINDOWS\Fonts"
oLSRegDic.Add "My Music","C:\Documents and Settings\LocalService\My Documents\My Music"
oLSRegDic.Add "CD Burning","C:\Documents and Settings\LocalService\Local Settings\Application Data\Microsoft\CD Burning"
oLSRegDic.Add "My Video","C:\Documents and Settings\LocalService\My Documents\My Videos"
oLSRegDic.Add "Administrative Tools","C:\Documents and Settings\LocalService\Start Menu\Programs\Administrative Tools"
strKeyPath = "S-1-5-19\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"

colKeys = oLSRegDic.Keys
For Each sKey in colKeys
sValName = sKey
sVal = oLSRegDic.Item(sKey)
SetHkuRegValue strKeyPath,sValName,sVal

'Set NetworkService Reg Values
Set oNSRegDic = CreateObject("Scripting.Dictionary")
oNSRegDic.CompareMode = TextMode

oNSRegDic.Add "AppData","C:\Documents and Settings\NetworkService\Application Data"
oNSRegDic.Add "Cookies","C:\Documents and Settings\NetworkService\Cookies"
oNSRegDic.Add "Desktop","C:\Documents and Settings\NetworkService\Desktop"
oNSRegDic.Add "Favorites","C:\Documents and Settings\NetworkService\Favorites"
oNSRegDic.Add "NetHood","C:\Documents and Settings\NetworkService\NetHood"
oNSRegDic.Add "Personal","C:\Documents and Settings\NetworkService\My Documents"
oNSRegDic.Add "PrintHood","C:\Documents and Settings\NetworkService\PrintHood"
oNSRegDic.Add "Recent","C:\Documents and Settings\NetworkService\Recent"
oNSRegDic.Add "SendTo","C:\Documents and Settings\NetworkService\SendTo"
oNSRegDic.Add "Start Menu","C:\Documents and Settings\NetworkService\Start Menu"
oNSRegDic.Add "Templates","C:\Documents and Settings\NetworkService\Templates"
oNSRegDic.Add "Programs","C:\Documents and Settings\NetworkService\Start Menu\Programs"
oNSRegDic.Add "Startup","C:\Documents and Settings\NetworkService\Start Menu\Programs\Startup"
oNSRegDic.Add "Local Settings","C:\Documents and Settings\NetworkService\Local Settings"
oNSRegDic.Add "Local AppData","C:\Documents and Settings\NetworkService\Local Settings\Application Data"
oNSRegDic.Add "Cache","C:\Documents and Settings\NetworkService\Local Settings\Temporary Internet Files"
oNSRegDic.Add "History","C:\Documents and Settings\NetworkService\Local Settings\History"
oNSRegDic.Add "My Pictures","C:\Documents and Settings\NetworkService\My Documents\My Pictures"
oNSRegDic.Add "Fonts","C:\WINDOWS\Fonts"
oNSRegDic.Add "My Music","C:\Documents and Settings\NetworkService\My Documents\My Music"
oNSRegDic.Add "CD Burning","C:\Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\CD Burning"
oNSRegDic.Add "My Video","C:\Documents and Settings\NetworkService\My Documents\My Videos"
oNSRegDic.Add "Administrative Tools","C:\Documents and Settings\NetworkService\Start Menu\Programs\Administrative Tools"
strKeyPath = "S-1-5-20\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"

colKeys = oNSRegDic.Keys

For Each sKey in colKeys
sValName = sKey
sVal = oNSRegDic.Item(sKey)
SetHkuRegValue strKeyPath,sValName,sVal
WriteToLog("Done Correcting Registry Values")
End Sub

Sub SetHkuRegValue(strKeyPath,strValueName,strValue)
oReg.SetStringValue HKEY_USERS,strKeyPath,strValueName,strValue
WriteToLog(strValueName & " | " & strValue)
End Sub
Answered 03/11/2008 by: AndyKingCDM
Yellow Belt

Please log in to comment

One point-ette, though: purists might like to alter the code so that the engine only needs to make one reference to the object being used. That is:

oLSRegDic.Add "AppData","C:\Documents and Settings\LocalService\Application Data"
oLSRegDic.Add "Cookies","C:\Documents and Settings\LocalService\Cookies"
etc, etc


With oLSRegDic
.Add "AppData","C:\Documents and Settings\LocalService\Application Data"
.Add "Cookies","C:\Documents and Settings\LocalService\Cookies"
etc, etc
End With
Answered 03/12/2008 by: VBScab
Red Belt

Please log in to comment
I am trying to deploy the above mentioned product with SCCM 2007, can you post more specificlly how you are doing it? I have tried using the Civil 3d.lnk file in the Program, and also the setup.exe but to avail!
Answered 04/30/2008 by: tommy_a_d
Yellow Belt

Please log in to comment
Been trying to package Map 3D 2008 and push it out via Altiris to Vista SP1 machine.

I used the steps above to get around the 1606 error code, but now I am getting a 259 error message saying "no more data is avaliable."

Also has anyone been able to slipstream the service packs into the main msi? It seems the only way to do it is through their deployment method.
Answered 08/28/2008 by: oilernut
Senior Yellow Belt

Please log in to comment
I have to install Civil 3D 2009 from SMS and I have a similar issue on Vista. In XP, everything works fine.
In Vista, when I install the app logged in as an admin, it installs fine. If i am logged in as a normal user and try to install ('Run As' an admin) the installation fails.
Log file for the MSI shows [Product: AutoCAD Civil 3D 2009 -- Error 1606. Could not access network location Autodesk\LandXML Reporting]
I did use the above script but I guess I got a few paths wrong in my script for Vista. I shall try it again.
Meanwhile could someone give me some more ideas on what else can be tried.
Answered 11/24/2009 by: msi_support
Orange Belt

Please log in to comment
I have changed the script to this and it did put all the entries in registry but no luck with the install [8|]
Please let me know if I am doing something wrong here..
Answered 11/24/2009 by: msi_support
Orange Belt

Please log in to comment
I don't know how I missed this when the thread was more current but you do know, of course, that in spite of its name, HKEY_USERS\.Default is NOT the default user profile hive? It's the local System user's profile hive. It's not generally a good idea to mess with stuff there.

Find out which path isn't being resolved correctly and fix that. A verbose log will show you all you need to know. Remember that any "odd" path is regarded as a network location by the WI engine, keeping up Microsoft's tradition of displaying error messages along the lines of "Something happened, I can't actually work out what it was but I have to tell you something so I'm going with this [error text follows]". Anyone who played with Word for Windows v1 with network-stored user templates will remember the classic message "Word cannot print" when, in reality, the problem was that the user had no drive mapped (or no write access) to the template location.

Oh, BTW, the CODE tag still exists in this forum. Please use it! :)
Answered 11/25/2009 by: VBScab
Red Belt

Please log in to comment
What worked for me

On a clean build here, all the registries in the path HKCU\Software\Microsoft\Windows\Current Version\Explorer\Shell Folders had %USERPROFILE% in the string values.
Apparently that was causing my MSI to not resolve paths. So modifying these entries made all the difference.
Example: AppData=%USERPROFILE%\AppData\Roaming changed to AppData=C:\Users\testuser\AppData\Roaming

I did not modify anything in the HKEY_USERS\.Default. Instead, I wrote a small wisescript to resolve the paths in the HKCU\Software\Microsoft\Windows\Current Version\Explorer\Shell Folders entries and the Civil 3d 2009 install went fine.
Thanks once again to everyone here!!
Answered 12/01/2009 by: msi_support
Orange Belt

Please log in to comment
I suspect the paths weren't resolved because your property usage was incorrect. If you want to use properties based on environment variables, the format should be [%USERPROFILE]AppData\Roaming
Answered 12/02/2009 by: VBScab
Red Belt

Please log in to comment
the format should be [%USERPROFILE]AppData\Roaming

Don't forget the back-slash [;)]
Answered 12/02/2009 by: AngelD
Red Belt

Please log in to comment
Good catch, Kim. I was forgetting env. vars don't get resolved with trailing backslahses.
Answered 12/02/2009 by: VBScab
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity