Типичная ситуация: есть приложение, использующее .Net Framework, и есть юзер, желающий использовать программу, но не имеющий .Net Framework. Итог: программа не запускается и выдает непонятную ошибку. И начинается поиск решения, как же проверить, установлен ли .Net Framework на конечной машине и требуемая ли версия установлена. Есть несколько вариантов действий - проверить реестр или проверить файловую систему. В первом случае воспользуемся веткой реестра
HKEY_LOCAL_MACHINE\SOFTWARE\MicrosoftЕсли тут существует ветка
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setupто в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDPможно найти все установленные версии .Net.
Во втором варианте просмотреть установленные версии можно %windir%\Microsoft.NET\Framework.
@ECHO OFF
SET FileName=%windir%\Microsoft.NET\Framework\v3.5
IF EXIST %FileName% GOTO Skip
ECHO.You currently do not have the Microsoft® .NET Framework 3.5 installed.
ECHO.This is required for MyApplication.
ECHO.
ECHO.The Microsoft® .NET Framework 3.5 will now be installed on you system.
ECHO.After completion setup will run MyApplication.
ECHO.
Pause
SET FileName=
Start /WAIT .\files\dotnetfx35.exe
ECHO ON
:Skip
Start .\MyApplication.exe
Exit
Заметьте, что данный скрипт не проверяет, установлен ли фреймворк. В любом случае, если не существует в файловой системе пути %windir%\Microsoft.NET\Framework\ будет устанавливаться .Net, а после окончания установки будет запущено приложение.
1 коммент.:
Рекомендую .NET Version Detector, самый удобный способ проверки.
http://net-framework.ru/soft/asoft-net-version-detector
Отправить комментарий