Ce que je dois faire est de lire une valeur de chaîne spécifique à l'application à partir de HKLM à partir d'un service Windows. La ruche et les valeurs du registre ont été ajoutées à l'aide d'un formulaire Windows, un outil permettant de modifier les valeurs de configuration du service Windows. Je ne suis pas en mesure de lire les valeurs de mon service Windows, "l'accès au Registre demandé n'est pas autorisé". J'essaie d'ouvrir et de lire comme suit:Lecture de HKLM à partir du service Windows sur Windows 7
rk = Registry.LocalMachine.OpenSubKey(key, RegistryKeyPermissionCheck.ReadSubTree);
if (rk != null)
{
value = rk.GetValue(setting).ToString();
}
Pouvez-vous également publier le code depuis votre application Winforms qui ajoute la clé? Il s'agit clairement d'un problème d'autorisations, mais si la clé de registre avait des autorisations par défaut pour HKLM, cela aurait dû fonctionner. Le fait que cela ne fonctionne pas me dit que les autorisations par défaut ne sont pas * non *. –
J'ai frotté ma boule de cristal et dit que vous utilisez votre service avec un compte d'utilisateur 'non standard'. LocalSystem et les amis sont très privilégiés. Le compte qui exécute votre application winform n'est généralement pas btw. –