Поскольку изменения в кусте локального компьютера могут влиять на всю систему, вы обнаружите, что изменения в нем разрешены только пользователям без прав администратора. Если вы попытаетесь запустить тот же код на компьютере с XP без учетной записи администратора, вы получите ту же ошибку. В Vista, поскольку процесс по умолчанию не является администратором, вы получаете эту ошибку. Информация об этом содержится в рекомендациях по сертификации «Сделано для Windows 2000», «Сделано для Windows XP» и «Сделано для Windows Vista».
Учитывая, что у меня мало информации о том, что делает ваша программа, может потребоваться дополнительная информация, чтобы дать вам конкретные указания, поэтому я буду говорить в общем случае. Вы хотите, чтобы ваше приложение оставляло куст локальной машины в покое, если оно вам не нужно. Когда ваша программа работает в режиме без прав администратора, вы можете либо отключить функцию, которая требует доступа к этим ключам администратора, либо вы можете запросить права администратора.