Busca en Programas y características y verás CR para VS, desplázate hacia la derecha y te dará la versión.
Para hacer eso en código, puedes buscar en las mismas ubicaciones del Registro.
Dependiendo de la versión, uso este código, la ubicación del registro cambió en la versión más reciente:
foreach (Assembly MyVerison in AppDomain.CurrentDomain.GetAssemblies())
{
if (MyVerison.FullName.Substring(0, 38) == "CrystalDecisions.CrystalReports.Engine")
{
//File: C:\Windows\assembly\GAC_MSIL\CrystalDecisions.CrystalReports.Engine\13.0.2000.0__692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.dll
//InternalName: Crystal Reports
//OriginalFilename:
//FileVersion: 13.0.9.1312
//FileDescription: Crystal Reports
//Product: SBOP Crystal Reports
//ProductVersion: 13.0.9.1312
//Debug: False
//Patched: False
//PreRelease: False
//PrivateBuild: False
//SpecialBuild: False
//Language: English (United States)
System.Diagnostics.FileVersionInfo fileVersionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(MyVerison.Location);
txtRuntimeVersion.Text += fileVersionInfo.FileVersion.ToString();
// check if CrsytalDecisions.Enterprise dll's can be loaded ( Anything but Cortez - managed reporting )
if (fileVersionInfo.FileVersion.Substring(0, 2) == "13")
{
btnRasOpen.Enabled = false;
}
CRVer = fileVersionInfo.FileVersion.Substring(0, 2);
//return;
// check if debug mode
var assembly = Assembly.LoadFrom(@"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.ClientDoc\v4.0_13.0.4000.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.ClientDoc.dll");
object[] attribs = assembly.GetCustomAttributes(typeof(
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019