Domanda

ho scritto un po 'di test di unità per coprire le finestre del Registro di sistema di lettura / scrittura. Usano la CRegKey ATL api.

Queste bene lavorato sulla mia macchina desktop di XP pro, ma quando i test sono venuti per eseguire sul sistema di compilazione - Windows 2008 x64 Server - i test falliscono con ERROR_ACCESS_DENIED quando si cerca di creare una chiave tramite Crea

.

L'utente connesso alla macchina costruzione appartiene al gruppo di amministratori.

Google si aprirà una lista di come creare un Registro di sistema in blocco note e MSDN continua a darmi mancante pagine quando clicco sul link.

Che cosa ho bisogno di sapere è quello che ho bisogno di fare consentire i test di passare durante l'esecuzione sul server? Credo che richiede attributi di sicurezza ma non ho mai approfondito questo modo non lo faccio sapere da dove cominciare. Qualsiasi aiuto sarebbe apprezzato.

È stato utile?

Soluzione

I giorni di programmi di modificare o creare chiavi di registro globali sono tutto finito. Si lavora ancora sulla vostra casella di XP in quanto si effettua il login come amministratore. Vista, Win7 e Windows 2008 hanno UAC per evitare che qualcuno (ad esempio malware) scherzi con il Registro di sistema, anche quando effettuato il login con un account amministratore.

È possibile aggiungere un manifesto al vostro programma per richiamare l'UAC, ma questo è del tutto poco pratico per i test unitari. Rielaborare il test dell'unità di scrivere al HKEY_CURRENT_USER alveare, invece. La stessa considerazione vale probabilmente per il programma per il quale hai scritto i test.

Altri suggerimenti

Non è sufficiente effettuare il login come amministratore; le vostre esigenze di programma da eseguire con i privilegi amministrativi (vale a dire con un manifesto).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top