Es gibt eine Seite auf MSDN http://msdn.microsoft.com/en-us/library/ff721969.aspx, die Registrierungszugriff verwendet, um installierte SharePoint-Produkte aufzulisten. Manchmal verfügen Sie jedoch nicht über ausreichende Berechtigungen, um auf die Registrierung zuzugreifen, oder Sie möchten nur die SharePoint-API verwenden, um nicht von den Registrierungspfaden abhängig zu sein. (Möglicherweise benötigen Sie diese Überprüfung in einem Code, den Sie mit einer SharePoint-Lösung bereitstellen, bei der der Registrierungszugriff eine unnötige Anforderung darstellen könnte.)
Ihre link to stackexchange oben zeigt auch eine Möglichkeit, die SPFarm.Products-Eigenschaft in PowerShell zu verwenden. Dies wäre ein vollständiger Code die Sharepoint Server-Version in C# zu überprüfen:
// B2C0B444-3914-4ACB-A0B8-7CF50A8F7AA0 : SharePoint Server 2010 Standard Trial
// 3FDFBCC8-B3E4-4482-91FA-122C6432805C : SharePoint Server 2010 Standard
// 88BED06D-8C6B-4E62-AB01-546D6005FE97 : SharePoint Server 2010 Enterprise Trial
// D5595F62-449B-4061-B0B2-0CBAD410BB51 : SharePoint Server 2010 Enterprise
Guid[] serverGuids = { new Guid("B2C0B444-3914-4ACB-A0B8-7CF50A8F7AA0"),
new Guid("3FDFBCC8-B3E4-4482-91FA-122C6432805C"),
new Guid("88BED06D-8C6B-4E62-AB01-546D6005FE97"),
new Guid("D5595F62-449B-4061-B0B2-0CBAD410BB51") };
// If a Server ID cannot be detected we are running on Foundation.
bool isServer = SPFarm.Local.Products.Any(productGuid =>
serverGuids.Contains(productGuid));
--- Ferda
Sehr nützlich. Vielen Dank. – NLV