Найти сторонний 32-разрядный продукт на 32- и 64-разрядных компьютерах - PullRequest
1 голос
/ 05 апреля 2011

Я создаю MSI-файл, который устанавливает дополнение к существующему приложению, которое я нахожу через его ключ HKLM\Software\..., используя таблицу RegLocator ; это хорошо работает на 32-битной Windows.

В 64-битной Windows, однако, ключ находится в HKLM\Software\WOW6432Node\...; это, очевидно, правильно, так как другое приложение является 32-битным приложением, однако делает RegLocator спотыкающимся.

Есть ли способ проверить как исходный, так и переписанный путь ключа и использовать первый из существующих (если ни один ключ не существует, компонент вообще не должен быть установлен)?

1 Ответ

2 голосов
/ 05 апреля 2011

Хм, согласно документации Таблица RegLocator , если вы не установите msidbLocatorType64bit для столбца Тип, он будет искать в 32-битной части реестра. В противном случае он будет искать 64-битную часть. Так что, если ваш сторонний всегда 32-битный (по крайней мере, я так понимаю из вашего вопроса), вы можете оставить этот бит неустановленным, и он всегда будет смотреть на 32-битный куст.

...