sql >> Base de Datos >  >> RDS >> Sqlserver

No se pudo actualizar la base de datos .mdf porque la base de datos es de solo lectura (aplicación de Windows)

Lo más importante que cambió entre Windows XP y Windows Vista/7 es la introducción de UAC, lo que significa que los usuarios, incluso si se crean como administradores, normalmente no tienen acceso de lectura/escritura a ubicaciones "importantes" como el %programfiles% (Usualmente C:\Program Files o C:\Program Files (x86) ) directorio. Por eso su aplicación funciona en Windows XP y no en Windows Vista.

Necesita almacenar sus DATOS en el %programdata% directorio (que suele ser C:\ProgramData ) si los datos se comparten entre usuarios en la máquina o %appdata% (que suele ser C:\Users\USERNAME_GOES_HERE\AppData\Roaming ) si es específico para un usuario determinado. Ahora ya no tendrá el problema de no poder escribir en el archivo.

La razón de esto es que al almacenar datos en el directorio de instalación de sus programas estaba haciendo lo incorrecto . Windows no le impidió hacer esto anteriormente, pero estaba ampliamente documentado que %programfiles% no era el lugar apropiado para almacenar datos.