The PreferredServerBitness named value is a REG_DWORD that sets the preferred architecture, 32-bit or 64-bit, for this COM server. For more information, see CLSCTX.
Values are from 1 through 3 and their meanings are listed in the following table.
|
Value
|
Meaning
|
| 1 | Match the server architecture to the client architecture. For example, if the client is 32-bit, use a 32-bit version of the server, if it is available. If not, the client's activation request will fail. |
| 2 | Use a 32-bit version of the server. If one does not exist, the client's activation request will fail. |
| 3 | Use a 64-bit version of the server. If one does not exist, the client's activation request will fail. |
If the PreferredServerBitness value is not present, then:
-
If the computer that hosts the server is running Windows XP or Windows Server 2003 without Service Pack 1 (SP1) or later installed, then COM will prefer a 64-bit version of the server if available; otherwise it will activate a 32-bit version of the server.
-
If the computer that hosts the server is running Windows Server 2003 with SP1 or later installed, then COM will try to match the server architecture to the client architecture. In other words, for a 32-bit client, COM will activate a 32-bit server if available; otherwise it will activate a 64-bit version of the server. For a 64-bit client, COM will activate a 64-bit server if available; otherwise it will activate a 32-bit server.
Note: |
|---|
|
The client can also specify its own architecture preference via the CLSCTX_ACTIVATE_32_BIT_SERVER and CLSCTX_ACTIVATE_64_BIT_SERVER flags, and these will override the server's preference. For more information, and a chart of possible interactions between client and server architecture preferences, see CLSCTX. |