Невозможно прочитать реестр во время установки приложения winform на win server 2003 - PullRequest
0 голосов
/ 28 ноября 2011

Я работаю над приложением на основе формы win в c #. При развертывании он записывает свое место установки в реестр. Теперь есть отдельный плагин, который во время развертывания ищет это значение в реестре.

Теперь проблема, с которой я сталкиваюсь, заключается в том, что она отлично работает на моем 32-битном win 7 dev box. Но на 64-битном клиентском сервере win 2003 клиентское приложение может записать значение реестра, но плагин получает пустую строку из реестра. Одной из проблем может быть то, что он не может найти реестр на сервере.

Есть идеи, в чем может быть проблема и как я могу ее решить?

Ответы [ 2 ]

2 голосов
/ 28 ноября 2011

В 32-битном ключе реестра будет что-то вроде:

HKEY_LOCAL_MACHINE\SOFTWARE\MyCompany

В 64-битном ключе реестра будет что-то вроде:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyCompany

Я предполагаю, что плагину может потребоваться обновить / настроить (в зависимости от того, как вы его используете), чтобы поддерживал 64 бит .

1 голос
/ 28 ноября 2011

64-битные версии Windows эмулируют 32-битную функциональность через подсистему «Windows on Windows» (WoW). В случае реестра они переносят 32-битные ключи в специальный подраздел по соображениям совместимости.

Ключи для 32-битного программного обеспечения в 64-битной ОС будут в: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node.

Это аналог реестра перенаправителя файловой системы, который сопоставляет system32 с SysWOW64.

Более подробную информацию можно найти в разделе MSDN о перенаправителе реестра .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...