Pregunta

Tengo una duda en la concesión de licencias. Estoy usando la aplicación C #. Guión: El usuario obtiene la licencia para la aplicación a través del correo en forma de archivo. Él / Ella almacena el archivo de licencia en el escritorio. Más tarde, él / ella elige la licencia y haga clic en registrarse. Ahora la aplicación está registrada (con licencia). Después de algunos días, si el usuario elimina el archivo de licencia de Desktop. La aplicación dejará de funcionar ya que no hay ningún archivo. Quiero almacenar los detalles de la licencia en algún lugar del registro o archivo (ruta secreta). Pero ¿Qué pasa si esa cuenta de usuario no tiene suficiente permiso para leer / escribir registro o archivo. ¿Cuál es la buena manera? ¿Conocen algún otro método? Soy novato en esta área. Así que por favor ayúdame.

Gracias de antemano.

¿Fue útil?

Solución

Todos los datos de la aplicación deben almacenarse en el directorio% appdata%.

Ya que especificó C #, aquí está el código para obtener la carpeta:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Esto dará como resultado la siguiente ubicación: En XP: C: / Documents and Settings / username / Application Data / En Vista: C: / Usuarios / nombre de usuario / AppData / Roaming

Le recomiendo que cree una carpeta en ese directorio para su aplicación y la copie allí.

Otros consejos

Microsoft tiene algunas sugerencias para ubicaciones de almacenamiento en Windows Vista: documento de compatibilidad y certificación de aplicaciones .

  

Por lo tanto, si [su programa] cambia los DATOS compartidos (no CÓDIGO), entonces [los datos] deberían ir lógicamente a la carpeta ProgramData. Si se trata de DATOS individuales, puede ir al perfil del usuario.

Usamos un archivo de licencia y lo almacenamos en la carpeta ProgramData \ CompanyName. Pero nuestras licencias son por máquina, no por usuario. De forma predeterminada, esta carpeta está oculta en Windows, pero no está protegida por UAC.

Como alguien me dijo hace algún tiempo: " El registro es para la interacción de la aplicación con el sistema, no para la interacción de la aplicación con el usuario. " No sé si esta es la manera correcta de ver las cosas. También solía almacenar información de usuario en el registro pero ya no. Poner la configuración en un archivo es la mejor manera. Si desea almacenar cosas como números de serie, no olvide cifrarlos.

Absolutamente, la escritura en el registro probablemente debe evitarse en este caso, especialmente si la licencia se puede eliminar, agregar o modificar de la forma que parece estar describiendo. Si se pretende que las licencias se cambien o cambien de alguna manera después de la instalación, puede ser mejor escribirlas en un archivo. Sin embargo, por lo general, no recomiendo escribir ningún tipo de archivo crítico o datos como ese en el escritorio. Probablemente lo escribiría en una carpeta contenida dentro de un directorio de la aplicación en sí. Inclúyalo en la instalación de su aplicación si es necesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top