none
Agregar Clave de Instalacion a Aplicacion WindowsForm ? RRS feed

  • Pregunta

  • Hola

    Desarrolle una aplicacion  de escritorio y ahora nesecito publicarla , Como puedo hacer para que al momento de la instalacion pida una clave y donde puedo almacenar dicha clave ? La aplicacion cuenta con una Db Access embebida ...


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    martes, 16 de enero de 2018 17:04

Respuestas

  • hola Efrain

    primero yo no recomiendo ni app.config ni base de datos, para guardar tener un modulo o licenciamiento de tu software utilizo los siguientes pasos y/o clases

     1. Clase cEncryption (para encriptar datos claves, 

    2. Clase cHardware (para obtener datos de placa base, discoduro y que no se replique en otro equipo

    3. Pto Generacion Clave (para generar la clave obteniendo datos de placa base, discoduro etc, del equipo)

    4. Pto Verificacion (verifica si es valido el equipo y la licencia)

    2. Verificar Estado Licencia (generalmente colocas un determinado tiempo para actualizaciones parches y demas) fuera de ese tiempo se cobra una nueva licencia o se renueva.

    te publico un de las clases (2) para que te guies!!

        public class cHardware
        {
    
            public static string GetProcessorId()
            {
                string strProcessorId = string.Empty;
                SelectQuery query = new SelectQuery("Win32_processor");
                ManagementObjectSearcher search = new ManagementObjectSearcher(query);
    
                foreach (ManagementObject info in search.Get())
                {
                    strProcessorId = info["processorId"].ToString();
                }
    
                return strProcessorId;
            }
    
            public static string GetMotherBoardID()
            {
                string strMotherBoardID = string.Empty;
                SelectQuery query = new SelectQuery("Win32_BaseBoard");
                ManagementObjectSearcher search = new ManagementObjectSearcher(query);
    
                foreach (ManagementObject info in search.Get())
                {
                    strMotherBoardID = info["SerialNumber"].ToString();
                }
    
                return strMotherBoardID;
            }
        }
    suerte!!


    martes, 16 de enero de 2018 18:23

Todas las respuestas

  • Hola

    Podrías optar por colocar dicha clave en tu app.config, de forma encriptada y cuando el usuario desee iniciar la aplicación, el primer formulario que aparece pida dicha clave. Tu método tendrá que consistir en ir a comparar a la clave encriptada y de ser correcto pasar a la siguiente instancia de tu aplicación, de lo contrario siempre solo le pedirá la clave al iniciar.

    Saludos


    Brayan De la Cruz
    Lima - Perú

    martes, 16 de enero de 2018 17:33
  • hola

    Podrias conservar el valor en la db si es que el usuario no tiene acceso a este

    sino quizas en un file, pero que la key este encriptada, cosa que aunque la pueda leer y modificar al estar protegida no conozca como cambiar el valor

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 16 de enero de 2018 17:37
  • Hola

    pero como puedo hacer para q al momento de la instalacion pida la clave ...si es valida continue ..de lo contrario se salga de la instalacion ??


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    martes, 16 de enero de 2018 17:43
  • hola Efrain

    primero yo no recomiendo ni app.config ni base de datos, para guardar tener un modulo o licenciamiento de tu software utilizo los siguientes pasos y/o clases

     1. Clase cEncryption (para encriptar datos claves, 

    2. Clase cHardware (para obtener datos de placa base, discoduro y que no se replique en otro equipo

    3. Pto Generacion Clave (para generar la clave obteniendo datos de placa base, discoduro etc, del equipo)

    4. Pto Verificacion (verifica si es valido el equipo y la licencia)

    2. Verificar Estado Licencia (generalmente colocas un determinado tiempo para actualizaciones parches y demas) fuera de ese tiempo se cobra una nueva licencia o se renueva.

    te publico un de las clases (2) para que te guies!!

        public class cHardware
        {
    
            public static string GetProcessorId()
            {
                string strProcessorId = string.Empty;
                SelectQuery query = new SelectQuery("Win32_processor");
                ManagementObjectSearcher search = new ManagementObjectSearcher(query);
    
                foreach (ManagementObject info in search.Get())
                {
                    strProcessorId = info["processorId"].ToString();
                }
    
                return strProcessorId;
            }
    
            public static string GetMotherBoardID()
            {
                string strMotherBoardID = string.Empty;
                SelectQuery query = new SelectQuery("Win32_BaseBoard");
                ManagementObjectSearcher search = new ManagementObjectSearcher(query);
    
                foreach (ManagementObject info in search.Get())
                {
                    strMotherBoardID = info["SerialNumber"].ToString();
                }
    
                return strMotherBoardID;
            }
        }
    suerte!!


    martes, 16 de enero de 2018 18:23
  • >>como puedo hacer para q al momento de la instalacion pida la clave

    si mantienes los datos en la db podrias tener una tabla con la info de validacion, entonces ni bien ingresas en el codigo del main() te conectas a la db y validas si hay una key o si tienes aulgun flag (un campos bool que indique se se paso la validacion)

    sino esta presente muestras la pantalla para ingresarlo, si ya esta presente entonces arrancas la aplicacion

    no es en la instalacion, es cuando ejecutas la aplicacion, cada vez que arranque validas que se tenga el flag que valida si esta registrado

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 16 de enero de 2018 19:23
  • o tambien podrias ver algo como ser

    Application Trial Maker

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 16 de enero de 2018 19:25