У меня есть распределенное приложение 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 SqlServer.Configuration.FixSqlRegistryKey.Program.FixRegistryKey (String keyName) в Microsoft.SqlServer.Configuration.FixSqlRegistryKey.Program.FixRegistryKeyAndSubKeys (ключ RegistryKey) "
Я понимаю, в чем проблема, и как исправить ее вручную.
Мне нужно, чтобы приложение изменило этот раздел реестра заранее и добавило разрешения для группы администраторов или установило ключ для наследования разрешений от родителя. Я также открыт для других решений этой проблемы с установкой SQL 2008 Express.
Я изучаю, как изменить разрешения ключей реестра, но я сталкивался с проблемами, пытаясь заставить его работать правильно (и понять все классы и объекты, связанные с установкой разрешений).
Может ли кто-нибудь предоставить правильный способ добавить группу администраторов (любой машины) с разрешениями на полный контроль или как установить разрешения для ключа, чтобы он унаследовал от родительского?
Дополнительный вопрос: всегда ли они будут группой администраторов на каждой машине с Windows XP?
Спасибо!