I recently made a useful discovery which may help others configure SAS 9.2 on Windows 7 or other versions. My motivation was to move the SASUSER library away from "My Documents" because that location was redirected to a slow network share, which caused occasional errors with the profile and its backup file. The SAS configuration file SASV9.CFG by default has -SASUSER "?CSIDL_PERSONAL\My SAS Files\9.2". ?CSIDL_PERSONAL resolves to C:\Users\USERID\Documents or wherever that is redirected. I changed it to put it one level higher like so: -SASUSER "?CSIDL_PROFILE\My SAS Files\9.2". You could argue that this is more consistent with common Windows usage, where "My" folders appear directly under the profile home. It turns out that SAS will understand several of these CSIDL identifiers; I also tried CSIDL_APPDATA. They are deprecated since Windows Vista but while they are still used by SAS, predumably we may still use them. There is a list of variables here: CSIDL (Windows). These variables may also be used in -SET MYSASFILES and in -SASINITIALFOLDER. It would be considerate of SAS to document this use of CSIDL variables in the configuration file. For example, !TEMP looks as if it might be a way to refer to environment variables generally, but !OTHER_VAR does not work. If you look with %SYSGET() you will also discover that -SET itself does not expand the CSIDL reference; it happens somewhere else. SAS seems to have embraced and extended the complexity in Windows environment definitions. Peter Lancashire
... View more