Я ничего не понимаю о недавней проблеме, с которой я столкнулся при создании установщика MSI для 64-битной платформы Windows XP.
В состоянии запуска программы установки я пытаюсь прочитать данные из реестра, но программа установки не получает правильное значение. Я попытался проверить другое имя значения, чтобы убедиться, что это не только одно конкретное имя значения, и обнаружил, что оно ведет себя таким же образом.
Я попытался напечатать извлеченные данные о значении реестра в сообщении об ошибке и понял, что в некоторых случаях он вообще не получает значения, а в других случаях не удается получить любое число, которое является частью полных данных значения.
Например, если попробуйте прочитать данные для:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
- Имя значения: InstallRoot
- Значение данных:
C:\Windows\Microsoft.NET\Framework64\
Данные, полученные установщиком: C:\Windows\Microsoft.NET\Framework\
. А в некоторых других случаях он получает пустую строку.