У меня есть распределенное приложение для Windows (написанное на C #), которое в настоящее время использует MSDE. Было принято решение обновить клиентскую базу данных до SQL Server 2008 Express, поскольку мы должны иметь возможность поддерживать Windows 7 (и все еще поддерживать XP) в следующем году.
В настоящее время я использую командный файл для запуска программы установки (а также с помощью файла Configuration.ini), но недавно во время установки обнаружена следующая ошибка.
"Не удалось исправить раздел реестра
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ MSSQLServer \ MSSQLServer \ SuperSocketNetLib \ Lpc.
System.UnauthorizedAccessException: попытка выполнить
несанкционированная операция. в
Microsoft.SqlServer.Configuration.FixSqlRegistryKey.Program.OpenKey (String
keyName) в
Microsoft.SqlServer.Configuration.FixSqlRegistryKey.Program.FixRegistryKey (String
keyName) в
Microsoft.SqlServer.Configuration.FixSqlRegistryKey.Program.FixRegistryKeyAndSubKeys (RegistryKey
ключ) "
Я понимаю проблему и как ее исправить вручную.
Мне нужно, чтобы приложение заранее изменило этот раздел реестра и добавило разрешения для группы администраторов или задало ключ для наследования разрешений от родителя. Я также открыт для других решений этой проблемы установки SQL 2008 Express.
Я изучал, как изменить разрешения разделов реестра, но столкнулся с проблемами, пытаясь заставить его работать правильно (и понять все классы и объекты, связанные с настройкой разрешений).
Может ли кто-нибудь предоставить правильный способ добавления группы администраторов (любого компьютера) с полными правами доступа или как установить права доступа к ключу, чтобы он наследовал от родительского?
Дополнительный вопрос, всегда ли они будут группой администраторов на каждом компьютере с Windows XP?
Спасибо!