When using the enterprise console, seemingly random errors may appear and indicate that more information is available in the trace.log. When viewing the trace.log, an error such as the following may appear:
Message: Unable to generate a temporary class (result=1).
error CS2001: Source file 'C:\Windows\TEMP\gydv3b5.0.cs' could not be found
error CS2008: No inputs specified
This is indicative of improper permissions on the folder C:\Windows\TEMP which are preventing the application from creating the temporary files necessary to perform the requested operation.
Note: The name of the file in the TEMP folder that could not be found could be anything as it may be randomly generated by the system.
Perform the following steps to correct the invalid permissions:
- Right-click on C:\Windows\TEMP in Windows Explorer and select Properties
- Click the Security tab
- Click Advanced
- Click Change Permissions
- If the IIS group is not listed, Add the group. Once added, or if it was already listed, set the permissions to at least
List folder / read datafor This folder, subfolders and files
- If the Users group is not listed, Add the group. Once added, or if it was already listed, set the permissions to at least
Traverse folder / execute filefor This folder, subfolders and files.
Create files / write data
Create folders / append data
- Apply all changes and click OK until all dialogs are closed
- Clear the browser's cache, restart the browser and log in again
Depending on the configuration of the console server, especially if any non-default permissions were applied during the OS build process or anytime thereafter, the temp folder might have become inaccessible to the console application.
By changing the permissions on C:\Windows\Temp to allow additional accounts to have write access, the issue should be resolved.
The most precise method to determine the minimum required permissions is to turn on auditing for write access, perform the steps necessary to reproduce the error, view the Windows event log, find the account name that attempted access and then grant it write permissions to the folder. A quicker method is to open a browser from a remote machine to http://consoleserver/console (where consoleserver is the name or IP address of the enterprise console server), then start Task Manager on the console server and view the processes for all users and view the User Name of the w3wp.exe process. By default, that is NETWORK SERVICE.
By default, the NETWORK SERVICE account is a member of Authenticated Users which is a member of Users which has write access to C:\Windows\Temp. If NETWORK SERVICE is not a member of Authenticated Users on the system and/or Authenticated Users is not a member of Users and/or Users does not have write permissions to C:\Windows\Temp, this error can occur.