2009-09-25 5 views
0

Я работаю над установщиком 32, который должен работать в среде от Win XP вверх. У нас есть проблема, когда нам нужно удалить запись реестра в разделе x64 реестра под Windows 2k3 x64.Как удалить запись реестра в Windows x64 в 64-битном дереве без использования RegDeleteKeyEx в C++?

Это довольно легко с RegDeleteKeyEx, но я не могу распространять исполняемый файл, который может вызывать эту функцию, потому что он не будет работать в Windows XP. Я могу легко получить дескриптор ключа, я просто не вижу, как я должен его удалить.

Я не могу использовать RegDeleteKey, потому что перенаправление реестра помешает моим усилиям на платформах x64. Я раздражен. Я не могу просто передать ему дескриптор моего ключа и пустую/нулевую строку подраздела. Я не могу поверить, что этот API был настолько сломан. Я что-то упускаю?

Моя единственная идея на данный момент обратиться к файлу реестра или отдельному исполняемому файлу, чтобы выполнить эту работу для меня, но это просто невероятно уродливо и только делает более уродливым обходным путем еще хуже. Есть ли способ лучше?

ответ

0

Почему не RegDeleteKeyEx решения во время выполнения (с использованием LoadLibrary, GetModuleHandle или аналогичных и GetProcAddress) после того, как вы определили, что система представляет собой x64 один?

 Смежные вопросы

  • Нет связанных вопросов^_^