Below are two modified extracts from my grammar highlighting the
difference that seems to cause the problem.
The extract below runs properly in both XP and Vista"
<?xml version="1.0" encoding="utf-8"?>
<Grammar LANGID="409">
<RULE NAME="x1" TOPLEVEL="ACTIVE">
<L>
<P>a voice command</P>
</L>
</RULE>
<RULE NAME="x2" TOPLEVEL="ACTIVE">
<L>
<P>another voice command</P>
</L>
</RULE>
</Grammar>
The following extract differs in that the second RULE ("x2")'s "L" child
tag does not contain any P tags. This runs properly in XP but in Vista
it generates an error.
<?xml version="1.0" encoding="utf-8"?>
<Grammar LANGID="409">
<RULE NAME="x1" TOPLEVEL="ACTIVE">
<L>
<P>a voice command</P>
</L>
</RULE>
<RULE NAME="x2" TOPLEVEL="ACTIVE">
<L></L>
</RULE>
</Grammar>
The error it generates is: : -2147201021 (80045003) Method
CmdLoadFromFile of object ISpeechRecoGrammar failed
I am looking for an explanation of the problem and if possible guidance
on how to resolve or work around the issue. I would prefer not having
two separate grammars, one for XP and one for Vista.
Thanks in advance,
Miguel