Posted 22 January 2026, 9:53 am EST - Updated 22 January 2026, 10:23 am EST
Hi,
Migrate from 2010v1 to 2025v2 399 in ASP.NET WebForms NET Framework 4.8.1.
Now, I use 2025v2 399 ASP.NET WebForms trial.
any helper code for validations C1 assemblies and licenses in Application_Start ?
gclicx file
C:\ProgramData\GrapeCity\gclm
cd “C:\ProgramData\GrapeCity\gclm”
gclm.exe “< PRODUCT-ID >” -lc WebApp.gclicx “WebApp”
Global.asax
void Application_Start(object sender, EventArgs e)
{
//TODO: Test load assemblies C1
var t = typeof(C1.Web.Wijmo.Controls.C1Dialog.C1Dialog);
// WebApp.gclicx
var asm = typeof(Global).Assembly;
var res = asm.GetManifestResourceNames();
foreach (var r in res)
{
// WebApp.WebApp.gclicx
// WebApp.dll.licenses
if (r.EndsWith("gclicx"))
{
System.Diagnostics.Debug.WriteLine(r);
break;
}
}
suggestions ?
void Application_Start(object sender, EventArgs e)
{
ValidateComponentOne();
}
private static void ValidateComponentOne()
{
try
{
// Fuerza carga del ensamblado
var asm = typeof(C1.Web.Wijmo.Controls.C1Dialog.C1Dialog).Assembly;
// Fuerza evaluación de licencia (esto es clave)
var ctrl = new C1.Web.Wijmo.Controls.C1Dialog.C1Dialog();
ctrl.ID = "licTest";
// Acceso a cualquier propiedad para obligar inicialización
var dummy = ctrl.Header;
System.Diagnostics.Trace.WriteLine(
$"[C1] OK - Licencia válida ({asm.FullName})"
);
}
catch (Exception ex)
{
System.Diagnostics.Trace.TraceError(
$"[C1] ERROR licencia o ensamblado: {ex}"
);
// OPCIONAL: parar la app explícitamente
// throw;
}
}
``
private static bool HasComponentOneLicenseResource()
{
var asm = typeof(Global).Assembly;
return asm.GetManifestResourceNames()
.Any(r =>
r.EndsWith(".licenses", StringComparison.OrdinalIgnoreCase) ||
r.EndsWith("gclicx", StringComparison.OrdinalIgnoreCase));
}
