HHCTRL errors

samintz

Scott Mintz
May 20, 2008
1,271
11
Solon, OH, USA
#1
We have an application that runs in Windows Server 2008 R2 SP1. It is a job launched from the Task Scheduler which runs TCC.EXE (v15 x64) sets up some environment variables and launches a PERL script.

The issue we are seeing is that the event log is getting polluted with warnings about event ID 1903. These events are triggered by MS security update ME896358 or security update ME890175.

This warning only occurs when the job is launched from the Task Scheduler and told to runas a specific user. It appears it is the Scheduler itself (or Windows in general,in response to the Scheduler) logging an error when trying to unload the Windows user-profile used in/by the Scheduled Task from memory. This is reinforced by the fact that if the user in question is already logged in (and stays that way), the error apparently doesn't happen.

Apparently, the application TightVNC had this issue and they changed something in later releases to stop it from happening.

We tried these settings from TechNet to no avail:
Code:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions]
"MaxAllowedZone"=dword:00000001
"EnableFrameNavigationInSafeMode"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions] 
"MaxAllowedZone"=dword:00000001
Looking through the hhctrl.ocx file, I see some other interesting registry values, but I don't know what they do.
Code:
EnableNonInteractiveUser
OverrideLMZLinHHContainer
Any ideas?
 

rconn

Administrator
Staff member
May 14, 2008
10,499
94
#3
There is nothing in TCC that accesses hhctrl.ocx directly. It is part of the Microsoft help, and it is used to access Internet Explorer. If you're not invoking the help, TCC will never call the Windows API that (eventually) calls hhctrl.ocx.

Why do you think this is a TCC bug? (A quick Google scan shows this also happening with CMD when running batch files.)
 

samintz

Scott Mintz
May 20, 2008
1,271
11
Solon, OH, USA
#4
Apparently, when we switch to 4NTv3.02 or use CMD, the issue doesn't occur. And it's not necessarily a TCC bug. This 1903 warning only shows up when TCC is launched from the Task Scheduler as a specific user even if that user is not logged in. If the user is logged in and we change the Task to launch only when the user is logged in, the warnings go away too. There is some kind of Windows security layer being invoked when TCC is shutting down. As I mentioned, I ran ProcMon and watched what it reported. We use Task Scheduler to launch daily builds. Our builds are automated and don't invoke help. In my ProcMon test, I only started TCC and then exited without doing anything. And hhctrl.ocx was definitely being loaded as part of the process shutdown.

Ideally, I'd like the warnings to just go away. But I have also tried the various registry settings recommended by the articles I've come across and nothing seems to make a difference. These 1903 errors are showing up at a rate of about 1 per second. Given that we are compiling 10's of thousands of files the Application Event log fills up in a hurry.
 
#5
I have never installed any updates to Win7/SP1 and I get the 1903 error message in the event log whenever I try to start TCC's help from a TCC running as SYSTEM on the services desktop (started by my mail server which also runs there). Does anyone have an idea how I might alter SYSTEM's profile (I suppose that's what's needed) so I can invoke the help in such a situation?
 

samintz

Scott Mintz
May 20, 2008
1,271
11
Solon, OH, USA
#6
The 1903 error apparently has a long history. I'm finding search results from 2005. Did you try the registry settings I mentioned in the first part of this thread?
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions]
"MaxAllowedZone"=dword:00000001
"EnableFrameNavigationInSafeMode"=dword:00000001
"EnableNonInteractiveUser"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001
 
#7
The 1903 error apparently has a long history. I'm finding search results from 2005. Did you try the registry settings I mentioned in the first part of this thread?
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions]
"MaxAllowedZone"=dword:00000001
"EnableFrameNavigationInSafeMode"=dword:00000001
"EnableNonInteractiveUser"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001
I just tried them. It worked. Thanks!