Hi Kumar,
Let me first provide more details on the topic which will help answering your specific questions.
vCenter ExtensionManager supports adding extensions to the vCenter which can be UI plugins but can also have other purposes. You can uniquely identify a plugin extension by the existence of ExtensionClientInfo - if this is not set the extension does not represent a plugin. For example your first screenshot shows the VSAN plugin extension while the second one shows an additional VSAN extension that defines more Task types (used by the VSAN service or plugin).
vSphere Client fetches only the vCenter plugin extensions upon user login.
A vCenter cannot have duplicate extension IDs so it is not possible to have multiple versions of the same plugin registered with a single vCenter. That said, it is possible to have a multi-vCenter environment in Enhanced Linked Mode or Hybrid Linked Mode which contains multiple versions of the same plugin.
For example: vCenter1 with plugin "P" version 1.0 and vCenter2 with plugin "P" version 2.0.
Whenever you log into any vSphere Client connected to this environment it will download both plugin versions 1.0 and 2.0.
- If 1.0 comes first it is deployed. When 2.0 comes, the Client would see that the version is higher, undeploy 1.0 and deploy 2.0
- If 2.0 comes first it is deployed. When 1.0 comes, the Client would see that the version is lower and ignore 1.0.
Please note this behavior is applicable to Local plugin architecture.
Remote plugin architecture has multi-version support which means that in the above scenario both 1.0 and 2.0 will be operational on the environment - which one is used depends on the selected context in the inventory or the user selection (for global plugin views).
Based on the above here are answers to your questions:
1. The statement is not correct - there is a very explicit vSphere Client-side version check.
2. The vSphere Client uses the version defined in ExtensionClientInfo.
Hope this helps.
Cheers,
Vladi