I haven't been able to find a fix for this problem. In a nutshell, something in Vista prevents Premise Server from executing SAPI's Speak method.
Up until Windows XP Service Pack 2 was introduced,
System.CreateProcess would let Premise Server execute an external application. When Microsoft increased secruity in SP2, they effectively disabled a function call (CreateProcessWithLogonW) used by the "CreateProcess" method. Premise Server runs under the
LocalSystem account and the new secruity measure prevents this account from invoking CreateProcessWithLogonW. I've tried running Premise Server using an alternate adminstrative account but this did not get around the obstacle.
CreateProcess has been non-functional since SP2.
I suspect something like this may have happened in Vista. In Vista, an end-user, logged in with a user account, can call SAPI's Speak method from VBScript or Office's VBA. But Premise Server, running as LocalSystem, cannot. Well, that's my theory so far ...