Discussion:
TSP on Vista
(too old to reply)
chrisb
2007-09-19 07:30:00 UTC
Permalink
Hi everyone,

I have a TSP developed under VS2005 running fine on 2000 and XP but I cannot
get it to install correctly under Windows Vista. It appears to add correctly
under Phone and Modem Options but I am unable to run any Tapi-enabled
applications while this TSP is installed and it often causes 'Windows Host
process' errors.

I believe I have narrowed down the problem to the TSPI_providerInit call
from the TapiSrv. The last few lines from my tracing output are as follows:

[5444] 17:58:11:869: [TRACE] Entering GetUIDllName
[5444] 17:58:11:869: [INFO ] Looking for provider...
[5444] 17:58:11:875: [TRACE] lineGetProviderList: exit, result=x0
[4620] 18:01:39:743: [TRACE] FreeDialogInstance: enter, pDlgInst=x01ED1358
[4620] 18:01:39:746: [INFO ] ServerInit: NumProviders=5
[4620] 18:01:39:746: [INFO ] ServerInit: ProviderFilename=Demo2.tsp
[4620] 18:01:39:747: [INFO ] ServerInit: G: Calling TSPI_providerInit
[4620] 18:01:39:748: [TRACE] ClientDetach: enter
[4620] 18:01:39:748: [TRACE] PCONTEXT_HANDLE_TYPE_rundown: enter
(ptClient=x01ED2D68)
[4620] 18:01:39:748: [TRACE] FreeDialogInstance: enter, pDlgInst=x00000000
[4620] 18:01:39:748: [TRACE] PCONTEXT_HANDLE_TYPE_rundown: exit
[4620] 18:01:39:748: [TRACE] ClientDetach: exit

Using DebugView I can see that the Service Provider constructor in my code
is run but the TSPI_providerInit is never called (neither is enumDevices).
Can anyone offer any suggestions?

Thanks Chris
Andreas Marschall [MVP TAPI]
2007-09-19 15:21:34 UTC
Permalink
Post by chrisb
I have a TSP developed under VS2005 running fine on 2000 and XP but I cannot
get it to install correctly under Windows Vista. It appears to add correctly
under Phone and Modem Options but I am unable to run any Tapi-enabled
applications while this TSP is installed and it often causes 'Windows Host
process' errors.
I believe I have narrowed down the problem to the TSPI_providerInit call
[5444] 17:58:11:869: [TRACE] Entering GetUIDllName
[5444] 17:58:11:869: [INFO ] Looking for provider...
[5444] 17:58:11:875: [TRACE] lineGetProviderList: exit, result=x0
[4620] 18:01:39:743: [TRACE] FreeDialogInstance: enter, pDlgInst=x01ED1358
[4620] 18:01:39:746: [INFO ] ServerInit: NumProviders=5
[4620] 18:01:39:746: [INFO ] ServerInit: ProviderFilename=Demo2.tsp
[4620] 18:01:39:747: [INFO ] ServerInit: G: Calling TSPI_providerInit
[4620] 18:01:39:748: [TRACE] ClientDetach: enter
[4620] 18:01:39:748: [TRACE] PCONTEXT_HANDLE_TYPE_rundown: enter
(ptClient=x01ED2D68)
[4620] 18:01:39:748: [TRACE] FreeDialogInstance: enter, pDlgInst=x00000000
[4620] 18:01:39:748: [TRACE] PCONTEXT_HANDLE_TYPE_rundown: exit
[4620] 18:01:39:748: [TRACE] ClientDetach: exit
Using DebugView I can see that the Service Provider constructor in my code
is run but the TSPI_providerInit is never called (neither is enumDevices).
Can anyone offer any suggestions?
Chris,
in Vista the Telephony Service is running under NetworkService account by
default,
in previous OS it was running in LocalSystem account.
NetworkService has limited privileges compared to LocalSystem, e.g. regarding
registry access to HKLM.

Does you TSP store data in HKLM or use any other LocalSystem related
privilege?


You may want to try to change the account for Telephony Service to LocalSystem
(the default on pre-Vista OS).

For this you need to run TAPISRV in exclusive mode, i.e. it has its own
SvcHost process,
otherwise changing the service account (e.g. via ServiceControlManager) will
fail since the other services sharing the SvcHost process that TAPISRV is
running in by default are using NetworkService account too and the accounts
can't be mixed in one SvcHost process.

The attached TAPISRV_exclusive_Mode_with_LocalSystem.reg file will do both:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TapiSrv]
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00
,\
74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\
6b,00,20,00,74,00,61,00,70,00,69,00,73,00,72,00,76,00,00,00
"ObjectName"="LocalSystem"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost]
"tapisrv"=hex(7):54,00,61,00,70,00,69,00,73,00,72,00,76,00,00,00,00,00
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
TAPI / TSP Developer and Tester
My TAPI and TSPI FAQ:
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
My Toto® Tools (a collection of free, mostly TAPI related tools):
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
TAPI development around the world (Frappr! map):
http://www.frappr.com/TAPIaroundTheWorld
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion. Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no rights.



begin 666 TAPISRV_exclusive_Mode_with_LocalSystem.reg
M__Y7`&D`;@!D`&\`=P!S`" `4@!E`&<`:0!S`'0`<@!Y`" `10!D`&D`= !O
M`'(`( !6`&4`<@!S`&D`;P!N`" `-0`N`# `, `-``H`#0`*`%L`2 !+`$4`
M60!?`$P`3P!#`$$`3 !?`$T`00!#`$@`20!.`$4`7 !3`%D`4P!4`$4`30!<
M`$,`=0!R`'(`90!N`'0`0P!O`&X`= !R`&\`; !3`&4`= !<`%,`90!R`'8`
M:0!C`&4`<P!<`%0`80!P`&D`4P!R`'8`70`-``H`(@!)`&T`80!G`&4`4 !A
M`'0`: `B`#T`: !E`'@`* `R`"D`.@`R`#4`+ `P`# `+ `U`#,`+ `P`# `
M+ `W`#D`+ `P`# `+ `W`#,`+ `P`# `+ `W`#0`+ `P`# `+ `V`#4`+ `P
M`# `+ `V`&0`+ `P`# `+ `U`#(`+ `P`# `+ `V`&8`+ `P`# `+ `V`&8`
M+ `P`# `+ !<``T`"@`@`" `-P`T`"P`, `P`"P`,@`U`"P`, `P`"P`-0!C
M`"P`, `P`"P`-0`S`"P`, `P`"P`-P`Y`"P`, `P`"P`-P`S`"P`, `P`"P`
M-P`T`"P`, `P`"P`-@`U`"P`, `P`"P`-@!D`"P`, `P`"P`,P`S`"P`, `P
M`"P`,P`R`"P`, `P`"P`-0!C`"P`, `P`"P`-P`S`"P`7 `-``H`( `@`# `
M, `L`#<`-@`L`# `, `L`#8`,P`L`# `, `L`#8`. `L`# `, `L`#8`9@`L
M`# `, `L`#<`,P`L`# `, `L`#<`- `L`# `, `L`#(`90`L`# `, `L`#8`
M-0`L`# `, `L`#<`. `L`# `, `L`#8`-0`L`# `, `L`#(`, `L`# `, `L
M`#(`9 `L`# `, `L`%P`#0`*`" `( `V`&(`+ `P`# `+ `R`# `+ `P`# `
M+ `W`#0`+ `P`# `+ `V`#$`+ `P`# `+ `W`# `+ `P`# `+ `V`#D`+ `P
M`# `+ `W`#,`+ `P`# `+ `W`#(`+ `P`# `+ `W`#8`+ `P`# `+ `P`# `
M+ `P`# `#0`*`"(`3P!B`&H`90!C`'0`3@!A`&T`90`B`#T`(@!,`&\`8P!A
M`&P`4P!Y`',`= !E`&T`(@`-``H`#0`*`%L`2 !+`$4`60!?`$P`3P!#`$$`
M3 !?`$T`00!#`$@`20!.`$4`7 !3`$\`1@!4`%<`00!2`$4`7 !-`&D`8P!R
M`&\`<P!O`&8`= !<`%<`:0!N`&0`;P!W`',`( !.`%0`7 !#`'4`<@!R`&4`
M;@!T`%8`90!R`',`:0!O`&X`7 !3`'8`8P!H`&\`<P!T`%T`#0`*`"(`= !A
M`' `:0!S`'(`=@`B`#T`: !E`'@`* `W`"D`.@`U`#0`+ `P`# `+ `V`#$`
M+ `P`# `+ `W`# `+ `P`# `+ `V`#D`+ `P`# `+ `W`#,`+ `P`# `+ `W
M`#(`+ `P`# `+ `W`#8`+ `P`# `+ `P`# `+ `P`# `+ `P`# `+ `P`# `
$#0`*````
`
end
Andreas Marschall [MVP TAPI]
2007-09-19 17:58:02 UTC
Permalink
Post by Andreas Marschall [MVP TAPI]
You may want to try to change the account for Telephony Service to LocalSystem
(the default on pre-Vista OS).
For this you need to run TAPISRV in exclusive mode, i.e. it has its own
SvcHost process,
otherwise changing the service account (e.g. via ServiceControlManager) will
fail since the other services sharing the SvcHost process that TAPISRV is
running in by default are using NetworkService account too and the accounts
can't be mixed in one SvcHost process.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TapiSrv]
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00
Post by Andreas Marschall [MVP TAPI]
,\
74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\
Post by Andreas Marschall [MVP TAPI]
6b,00,20,00,74,00,61,00,70,00,69,00,73,00,72,00,76,00,00,00
"ObjectName"="LocalSystem"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost]
"tapisrv"=hex(7):54,00,61,00,70,00,69,00,73,00,72,00,76,00,00,00,00,00
Please note that the answer in my TAPI and TSPI FAQ and the referenced Toto®
Tool TAPIex (Version 1, 0, 0, 2) are currently not fully compatible with Vista
(the current version is only intended for W2k, XP, and WS2k3):

Q: How can I run TAPISRV exclusively in a svchost process ?
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_How_can_6

Toto® Tool TAPIex
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm#_Toto®_Tool_TAPIex_1

I will update the FAQ und the tool with the Vista specific shared mode.
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
TAPI / TSP Developer and Tester
My TAPI and TSPI FAQ:
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
My Toto® Tools (a collection of free, mostly TAPI related tools):
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
TAPI development around the world (Frappr! map):
http://www.frappr.com/TAPIaroundTheWorld
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion. Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no rights.
chrisb
2007-09-19 22:18:00 UTC
Permalink
Hi Andreas

Thank you very much for your help with this. Your suggestion resolved my
issue.

I had actually read this section on your own site previously but for
whatever reason I hadn't been able to modify the registry settings to get the
service to run correctly under its own process. The registry changes you
provided did work however.

Thanks again.
Chris
Andreas Marschall [MVP TAPI]
2007-09-19 23:03:24 UTC
Permalink
Post by chrisb
Hi Andreas
Thank you very much for your help with this. Your suggestion resolved my
issue.
Chris,
you are welcome.
Post by chrisb
I had actually read this section on your own site previously but for
whatever reason I hadn't been able to modify the registry settings to get the
service to run correctly under its own process. The registry changes you
provided did work however.
Thanks for the feedback.
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
TAPI / TSP Developer and Tester
My TAPI and TSPI FAQ:
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
My Toto® Tools (a collection of free, mostly TAPI related tools):
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
TAPI development around the world (Frappr! map):
http://www.frappr.com/TAPIaroundTheWorld
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion. Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no rights.
1***@gmail.com
2014-05-13 17:56:45 UTC
Permalink
Post by chrisb
Hi everyone,
I have a TSP developed under VS2005 running fine on 2000 and XP but I cannot
get it to install correctly under Windows Vista. It appears to add correctly
under Phone and Modem Options but I am unable to run any Tapi-enabled
applications while this TSP is installed and it often causes 'Windows Host
process' errors.
I believe I have narrowed down the problem to the TSPI_providerInit call
[5444] 17:58:11:869: [TRACE] Entering GetUIDllName
[5444] 17:58:11:869: [INFO ] Looking for provider...
[5444] 17:58:11:875: [TRACE] lineGetProviderList: exit, result=x0
[4620] 18:01:39:743: [TRACE] FreeDialogInstance: enter, pDlgInst=x01ED1358
[4620] 18:01:39:746: [INFO ] ServerInit: NumProviders=5
[4620] 18:01:39:746: [INFO ] ServerInit: ProviderFilename=Demo2.tsp
[4620] 18:01:39:747: [INFO ] ServerInit: G: Calling TSPI_providerInit
[4620] 18:01:39:748: [TRACE] ClientDetach: enter
[4620] 18:01:39:748: [TRACE] PCONTEXT_HANDLE_TYPE_rundown: enter
(ptClient=x01ED2D68)
[4620] 18:01:39:748: [TRACE] FreeDialogInstance: enter, pDlgInst=x00000000
[4620] 18:01:39:748: [TRACE] PCONTEXT_HANDLE_TYPE_rundown: exit
[4620] 18:01:39:748: [TRACE] ClientDetach: exit
Using DebugView I can see that the Service Provider constructor in my code
is run but the TSPI_providerInit is never called (neither is enumDevices).
Can anyone offer any suggestions?
Thanks Chris
Could you please redraft the instructions for registry edit for a bit more of a layperson? I am having the same error message on a Win 7 64 bit machine, and suspect this registry edit would resolve my problem, but have no clue where and how to insert or edit it? Your help would be greatly appreciated.
Loading...