RegistryKey.GetValue не возвращает значение в установщике - PullRequest
0 голосов
/ 24 марта 2012

Если есть класс, который вызывается как часть пакета установщика MSI как CustomAction.

Он пытается прочитать значения из реестра (попытаться найти локальные экземпляры SQL-Server):

   RegistryKey sqlServer = Registry.LocalMachine.OpenSubKey( 
                         @"SOFTWARE\Microsoft\Microsoft SQL Server", false );

   string[] localInstances = (string[])sqlServer.GetValue( "InstalledInstances" );

В качестве автономного приложения это работает нормально, но не работает, если вызывается из установщика (запускается от имени того же пользователя). В установщик GetValue возвращает null.

Есть идеи?

Edit: Я запустил установщик и исполняемый файл на той же машине, что и тот же пользователь. FrameWork - это .Net 4 на 64-битной машине с Windows 7

Заранее спасибо

Mario

...