Visual Studio 2008 issues
If you're building a text service DLL, you almost certainly don't want to use Visual Studio 2008's compiler. The problem is that Visual Studio 2008 uses a new C Runtime Library, and if you build your text service with Visual Studio, your text service likely won't load in all applications. (Plus, you would have to redistribute the C Runtime Library.)
What to do instead?
Well, I would recommend installing the Vista (or XP) DDK and use the DDKWizard instead. The DDK comes with its own C/C++ compiler that uses the C Runtime Library that ships with the OS (and won't cause problems with other applications), and the DDKWizard will let you use all of Visual Studio's awesome capabilities.
Comments
Anonymous
January 20, 2008
The comment has been removedAnonymous
January 23, 2008
Interesting tip. Do license restrictions apply to the distribution of native end-user applications complied/built with the C/C++ compiler which ships with the DDK?Anonymous
January 24, 2008
Steven - I believe that the DDK has a license agreement that describes the redistribution rights. That being said, however, if you link against the CRT dll that ships with the OS - and do not redistribute the dll - you should be fine. I am NOT a lawyer and this is NOT legal advice.Anonymous
January 24, 2008
CS - statically linking the CRT library doesn't necessarily solve the problem of multiple runtimes, and may actually make things worse. You have Thread-Local Storage issues, multiple heap issues, and so forth.Anonymous
February 07, 2008
Eric, then what if I want to distribute text service DLL to different versions of OS (XP, Vista and etc)? Should I prepare different binaries for different OS? Again from my understanding, this is not a TSF specific issue. Please correct me if I'm wrong. And the problems of statically linking CRT library you mentioned seems not big issues to me. (I don't know what do you mean by TLS issues though. Can you tell me a little more detail?) Thanks.