System outline: Server 2008 SP2 x86 running terminal services in a Windows domain.
I've recently moved my working environment to a new server. I'm coding in Visual Fox Pro 9 on the system described above. I used to work on a Windows 2003 terminal server. Since I have moved to the 2008 server I've been experiencing an issue that has totally stumped me. For some of the programs I'm writing I load up an instance of Excel 2007 via COM. The issue is that randomly I will experience the excel instance failing to initialize with this error message "OLE error code 0x800704ec: This program is blocked by group policy. For more information, contact your system administrator.". The Problem occurs randomly. There seems to be some sort of time factor because if I wait for a bit the problem will cease and my program will work as intended again. I've also had some luck with executing gpupdate but its not a guarantee that it alleviates the error. I do find it strange that I can always run Excel via the windows shell without error as well.
Steps I've taken thus far are:
- Examine all group policy items applied to the domain for software restrictions that may be applied. There are none that should affect me.
- Implement a GPO to set software restrictions for my user to unrestricted.
- Verify the software restrictions are what is expected in HKLM and HKCU
- Enabled software restrictions logging. No blocks have been recorded.
- Run the Visual Fox Pro IDE as administrator
- Add exceptions for all relevant paths to the software restrictions GPO that affects my user.
Still after all that I've found no relief. The only sure fire way I've found is to log off then back onto the server. So far that has always fixed the issue until it reoccurs. I've been treating the issue as a Software Restrictions issue thus far but I'm stumped at this point.
I've found some interesting information. I finally got a hit in the SRP logging that showed Excel being blocked. I looked up the blocking rule via GUID in the HKCU hive. This is where I got stumped again. The blocking rule is an allow rule! Here are screenshots of my research.