Tuesday, March 26, 2013

Excel 2003 hangs when opening files from the network


Recently we have seen a lot of users experience extreme slowness or hanging when opening Excel files from a network location.  PCs that are running XP and 2003 are affected whilst those using W7/Office 2003 or XP/Office 2007 or 2010 are fine.
After much searching the fix was actually a recent help article from Microsoft.  After you install MS11-021 and the Office File Validation (OFV) Add-in for Office 2003 (KB 2501584), workbooks stored in a network location open slower over the network in Excel 2003 than they did without the OFV installed. The decrease in performance depends on the size of the workbook and bandwidth of the network and in some scenarios can seem to hang Excel.
Microsoft provide three fixes:
Method 1:
To be able to have both the protection of the OFV, and typical performance over the network when opening files, upgrade to either Microsoft Excel 2007 or Microsoft Excel 2010.
Method 2:
Copy the file to the local workstation. Open and save it in Excel from the local hard drive. Copy the file back to the network location.
Note: If multiple users are accessing the same file, you must be cautious to collaborate with the other users before you copy the file back to the share so that you do not overwrite the changes that were made by another user. The Shared Workbook feature cannot be used with this workaround.
Method 3:
To use Excel 2003 and avoid the network performance issue, you can disable the Microsoft Office File Validation Add-In for Excel by using a registry setting. This removes the additional protection of the OFV for Excel while still protecting the other Office applications.
Realistically, the only short term fix is Method 3!
Instructions to disable Microsoft Office File Validation Add-In are:
You can use the EnableOnLoad registry entry to configure how you want Excel to handle opening workbooks for the OFV. By default, the EnableOnLoad entry is not present in the Windows registry. To add the EnableOnLoadentry to the Windows registry, follow these steps:
  1. Exit Excel.
  2. Click Start, click Run, type regedit, and then click OK.
  3. Locate and then click to select the following registry key: **EDIT** Thanks to Frank in the comments , the proper key is ” HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\11.0″ Old key “HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\”
  4. After you select the key that is specified in step 3, point to New on the Edit menu, and then clickKey.
  5. Type Excel, and then press ENTER.
  6. Select Excel, point to New on the Edit menu, and then click Key.
  7. Type Security, and then press ENTER.
  8. Select Security, point to New on the Edit menu, and then click Key.
  9. Type FileValidation, and then press ENTER.
  10. Select FileValidation, point to New on the Edit menu, and then click DWORD Value.
  11. Type EnableOnLoad, and then press ENTER. Note: The default value is 0 which disables the validation.
  12. On the File menu, click Exit to quit Registry Editor.
IMPORTANT
This fix needs to be applied at a user level, and for that reason it would be a good idea to include in your logon script.  You can create a registry file called officefix.reg with the following content:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security]
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\FileValidation]
“EnableOnLoad”=dword:00000000
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security]
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\FileValidation]“EnableOnLoad”=dword:00000000
Then call the registry file with the following command:
Batch scriptREGEDIT /S %filepath%\officefix.reg       —      %filepath% is the path to the registry file.

Citrix Change user install mode


When installing an application on a terminal server it is necessary to change the server to install mode by running “change user /install” from a command prompt or by performing the install through “Add/Remove Programs.”  After the installation you must run “change user /execute” to bring it out of install mode.  This ensures that the .ini files for the installed application are stored in the Terminal Server system directory.  These files are used as the master copies for the user-specific .ini files. 
Why is this important?  When a user runs an application for the first time, the application looks in the home directory for its .ini files.  If it does not find them in the home directory it will look in the Terminal Server system directory and copy them to the user’s home directory.  If an application is installed while the server is not in install mode, the .ini files will be saved to the home directory.  New users will therefore be unable to pull down the .ini files from the Terminal Server system directory, and the application will not run.
Change Terminal Server Session properties, use when installing software on a terminal server.
Syntax
      CHANGE USER /options
      CHANGE LOGON /options
      CHANGE PORT /options

Options:
  To change .INI file mapping: (administrator rights required)

  CHANGE USER /INSTALL   Enable install mode. This command has to be run before
                         installing any new software on a Terminal Server.
                         This will create a .ini file for the application
                         in the TS system directory.

  CHANGE USER /EXECUTE   Enable execute mode (default)
                         Run this when an installation is complete.

  CHANGE USER /QUERY     Display current settings.

  To enable or disable terminal session logins:

  CHANGE LOGON /QUERY    Query current terminal session login mode.
  CHANGE LOGON /ENABLE   Enable user login from terminal sessions.
  CHANGE LOGON /DISABLE  Disable user login from terminal sessions.


  To list or change COM port mappings for the current session.
  This can allow DOS applications to access high numbered ports e.g. COM12

  CHANGE PORT portx=porty      Map port x to port y.
  CHANGE PORT /D portx         Delete mapping for port x.
  CHANGE PORT /QUERY           Display current mapping ports.

How .ini files work:

Installing an application will create a .ini file in the TS system directory.

The first time a user runs the application, the application looks in the home directory for its .ini file. If none is found then Terminal Server will copy the .ini file from the system directory to the users home directory.

Each user will have a unique copy of the application's .ini file in their home directory.

To learn more about what happens when the system is put into install mode run CHANGE USER /?

The CHANGE command replaces CHGLOGON, CHGUSER, and CHGPORT from Citrix Winframe.

Thursday, March 21, 2013

Microsoft Office Communicator Alerts and Windows 7


Every single user that we have moved to Widows 7 has had one complaint. Communicator alerts are not being seen. Most do not have audio and unless you are constantly paying attention, it just does not grab you attention like it did in Vista or XP.

"The answer is display settings in Windows 7"

If you zoom your display settings (Control Panel - All Control Panel Items - Display) to Medium (125%) or Larger (150%) You do not get incoming IM notifications or phone notifications with the exception of the flashing status icon in your task-bar.   Once we set this back to Smaller - 100% (default) the issue will be fixed