Hola.
Compañeros, tengo una inquietud y quisiera traerla a discusión con el fin de tener una lluvia de ideas y así tomar la mejor opción para solucionar mi inquietud, la situación es esta:
Actualmente tengo un cliente al que le estoy desarrollando una aplicación Windows Forms, para proteger el código use Eazfuscator.NET. hasta ahí todo va bien.
Pero como evito que la aplicación ejecute en cualquier sitio, es decir: Es bien conocido que las aplicaciones desarrolladas con Visual Studio funcionan solo con tener el framework en el computador donde se va a realizar la ejecución. Por lo tanto si un empleado copia la aplicación a una USB (actualmente lo hacen) esta funciona sin problemas.
Necesito es evitar eso para que los empleados no se le lleven la aplicación de la empresa a mi cliente.
Posible Solución:
La aplicación tiene un archivo de licencia que se encuentra alojando en la misma ruta del .exe si este no existe la aplicación no abre hasta que le suministren un código de licencia valido, pero cuando copian la carpeta de la aplicación se va con todo y archivo y para el usuario es transparente esa ejecución.
Se me ocurre colocar el archivo de licencia en una carpeta del sistema por decir algo en "C:\Windows" para que el este no este viajando en las USB.
Y la otra que no me convence es validar la ruta de ejecución al iniciar la aplicación y si es diferente a "C:\Archivos de programa\MiAplicacion\" notificar ejecución no permitida y cerrarla.
Que otras alternativas se les ocurren para evitar la ejecución o copia de la aplicación?
Agradezco mucho las ideas que me brinden.
Saludos