Pregunta

Me escribió un montón de pruebas unitarias para cubrir las ventanas Registro de lectura / escritura. Utilizan el CRegKey ATL API.

Estos funcionaba bien en mi máquina de escritorio de XP Pro, pero cuando las pruebas llegaron a ejecutar en la máquina de construcción - un Windows 2008 Server x64 - las pruebas fallan con ERROR_ACCESS_DENIED cuando se trata de crear una clave a través de Crea

.

El usuario que ha iniciado la sesión en la máquina de construcción pertenece al grupo administrador.

Google será una lista de cómo crear un registro en el bloc de notas y MSDN sigue dando me faltan páginas al hacer clic en los enlaces.

Lo que hay que saber es lo que necesito hacer permitir que las pruebas a pasar cuando se ejecuta en el servidor? supongo que requiere atributos de seguridad, pero nunca he profundizado en esto, así que no lo hago saber por dónde empezar. Cualquier ayuda sería muy apreciada.

¿Fue útil?

Solución

Los días de los programas de la modificación o creación de claves de registro global son zanjado. Todavía funciona en su caja de XP debido a que inicie sesión como administrador. Vista, Win7 y Windows 2008 tienen UAC para impedir que terceras personas (es decir, software malicioso) jugar con el registro, incluso cuando se ha iniciado sesión con una cuenta de administrador.

Se puede añadir un manifiesto a su programa para invocar la UAC, pero eso es totalmente poco práctico para las pruebas unitarias. Reelaborar su prueba de la unidad de escritura a la vez HKEY_CURRENT_USER colmena. La misma consideración se aplica probablemente al programa para el que escribió las pruebas.

Otros consejos

No es suficiente que estar conectado como administrador; las necesidades del programa que se ejecutan con privilegios administrativos (es decir, utilizando un manifiesto).

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