Как проверить, установлен ли установщик Windows 3.1 или выше?
Мне нужно знать это, так как это предварительный req для .NET 3.5, и если я включаю bootstrapper.NET, я также должен проверить, нужен ли Windows Installer 3.1.
Сейчас я проверяю раздел реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP3\KB893803v2
Что будет проверять установщик Windows 3.1, но я подозреваю, что он не проверяет более высокие версии. (Не смогли подтвердить или опровергнуть это)
Какой ключ реестра я должен искать, чтобы найти эту информацию?
Изменить: мне нужно проверить это в Inno Setup, что я использую в качестве моего загрузочного устройства, и я не уверен, как проверить там версию dll.
Ответы
Ответ 1
найдите установочный файл msi.dll с этим путем:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer
значение: InstallerLocation
затем получите информацию о версии из этого файла.
обновление:
путь выше старый!
здесь описан новый способ обнаружения версии:
http://msdn.microsoft.com/en-us/library/aa368280%28VS.85%29.aspx
Ответ 2
В окне "Выполнить" введите "msiexec". Появится окно с версией установщика Windows в первой строке.
Ответ 3
Если вы хотите проверить версию установщика Windows в своей системе, проверить версию MSI.DLL в папке Windows\System 32.
Щелкните правой кнопкой мыши по MSI.DLL, выберите свойства → перейдите на вкладку "Сведения" и проверьте версию файла.
Ответ 4
Если это находится внутри самого файла MSI, вы можете проверить свойство VersionMsi.
Ответ 5
Пожалуйста, проверьте эта ссылка может помочь вам, поскольку уже работает для меня для Windows 7, надеюсь, может работать и для других версий Windows, а также для проверки версии установщика Windows.