2016-09-16 3 views
0

Я хочу проверить, установлен ли redist VC++ 2010, если нет, я хочу его установить. Встроенный prereq из InstallShield не работает, поэтому я пытаюсь создать свой собственный.Проблема с установкой реестра InstallShield 2015

В качестве теста я вручную установлен на VC++ 2010 Redist, и это реестра на целевом компьютере:

enter image description here

Вот что выглядит мое состояние, как:

enter image description here

Для меня это выглядит на 100% правильно, что именно я делаю неправильно? Ясно, что проверка реестра работает в InstallShield, потому что другая сборка, которую я использую, работает нормально.

Можете ли вы определить очевидную проблему?

EDIT: Значения:

enter image description here

EDIT 2: Если я воссоздать ключ структуру реестра и значение, как это, то он работает:

enter image description here

Так как я могу получить IS, чтобы проверить часть WoW64 IS, я думал, что это то, что для 64-битной проверки радио было?

ответ

1

Я думаю, что вы ищете неправильное место в реестре, чтобы проверить, установлен ли VC++ Redist. Для Redist 2015 im ищет в HKLM \ SOFTWARE \ Classes \ Installer \ Dependencies \ и для redist 2010 HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ + guid