Validations C1 assemblies and licenses 2025v2 399 in ASP.NET WebForms

Posted by: enrique.pv-ext on 22 January 2026, 9:53 am EST

  • 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));
    }
    
  • Posted 23 January 2026, 5:47 am EST

    Hello,

    We’re discussing your requirement with the development team. [Internal Tracking ID: C1WEB-30299]

    Rest assured, we’ll get back once we’ve more information.

    Regards,

    Uttkarsh.

  • Posted 5 February 2026, 8:39 am EST

    Hello,

    The development team has requested additional details regarding the use cases for pre-runtime license validation. At present, ComponentOne licensing is validated at runtime and does not expose any public APIs for manual or pre-runtime validation.

    To help the team better assess the feasibility and prioritize this request, could you please share your specific use cases and scenarios where pre-runtime license validation is required? We will forward the details to the development team for further review and insights.

    Regards,

    Uttkarsh

  • Posted 6 February 2026, 6:01 am EST

    Our applications require a pre-runtime license validation mechanism for several enterprise scenarios that are not covered by ComponentOne’s current runtime-only validation. These include CI/CD pipeline safety (failing builds before deployment), cloud‑orchestrated health checks, IIS warmup, multiserver licensing, regulatory compliance, DevOps monitoring, fail‑fast startup policies, and automated smoke-testing.

    Without a pre-runtime API, license issues appear only after a control is instantiated in runtime, producing late failures, downtime, and deployment instability.

    A simple public API such as C1.LicenseManager.Validate() would solve these cases by letting us verify the license state during application start, build steps, or infrastructure health checks, without requiring UI control instantiation.

  • Posted 6 February 2026, 9:48 am EST

    Hello,

    Thank you for the details. We have shared them with the development team.

    We’ll update you once we have more information.

    Regards,

    Uttkarsh.

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels