Настройка развертывания (.Net) - Поиск целевой машины -> Поиск в реестре (64 бита)
У меня есть проект установщика Windows, который устанавливает некоторые программы (winform, service, mce addin). Во время установки мне нужно найти на компьютере ключ реестра. Это делается с помощью "Условие запуска" -> "Поиск в реестре" (проект развертывания).
Я заполнил все свойства правильно и проверил по повторному тестированию, что значение действительно может быть найдено.
Проблема заключается в том, что "Поиск в реестре" выполняет поиск в разделе реестра x86 (HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\...), хотя в моей системе установлен x64, а настройка развертывания также установлена на x64.
Кто-нибудь знает, как заставить "Поиск по реестру" искать в реестре x64? Или знаете об обходном пути?
Странно то, что параметр Registry в настройках развертывания записывает данные в правильный реестр (x64). Моя идея заключается в том, что программа "Поиск в реестре" разработана только для архитектуры x86 и поэтому не может прочитать правильный реестр.
Я нашел эту статью от Microsoft, так что кажется, что они знают об этой проблеме. https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=110105&wa=wsignin1.0
Моя система:
Windows 7 64bit
Visual Studio 2008
1 ответ
Я нашел решение для этого. Я изменил скрипт, созданный Microsoft, и скрипт должен запускаться после каждой сборки. Проверьте, как здесь