This chapter begins by explaining how to package your coclasses for distribution. One of the first issues you must address is whether to distribute your classes in an in-process DLL or an out-of-process EXE. You must weigh the pros and cons of each packaging technique. This chapter covers important issues relating to COM and the Registry and explains how to properly register servers on a development work-station and on a user's desktop.
Component versioning is critical in the production environment. To harvest COM's most powerful features, you must be able to revise your servers and replace them in the field without adversely affecting any client applications. This chapter shows you the options that Visual Basic gives you to accomplish this. For many readers, this will prove to be the most valuable topic in the book.
This chapter also delves into a variety of issues relating to server design, such as exposing classes and interfaces, using enumerators and friend methods, and modifying procedure attributes. The chapter concludes by explaining how Visual Basic maps its own internal error handling model onto COM exceptions. This leads to a description of the best techniques for raising errors between servers and clients.