Цитата simplix:
не устанавливаются поверх или заново »
|
Если setupverifier возвращает информацию о некорректной установке какой-то версии, то эта версия будет автоматически установлена поверх некорректной? Или предварительно cleanup очистит систему от некорректно установленной версии и уже затем запустится установка?
Здесь (сам позавчера делал аналогичную фичу к Вашему аддону)
читать дальше »
ClnInstl.cmd (Кодировка 866):
@ECHO OFF
CLS
COLOR 3e
SET PathNetFW=%SystemRoot%\Microsoft.NET\Framework\
SET DistrNet=%SrcDosDrive%\I386\SVCPACK\DOTNET.EXE
SET NoNetFW=В системе не установлен .NET Framework
SET AlreadyNetFW=В системе уже установлен .NET Framework
ECHO Проверка наличия установленного .NET Framework 1.1 ...
IF NOT EXIST %PathNetFW%v1.1* (ECHO %NoNetFW% 1.1.
ECHO Удаление и очистка системы от всех версий .NET Framework ...
cleanup.exe /p .NET Framework - All Versions /u
DEL %PathNetFW%*.* /f /q
RD %PathNetFW%v1.0.3705 /s /q
RD %PathNetFW%v1.1.4322 /s /q
RD %PathNetFW%v2.0.50727 /s /q
RD %PathNetFW%v3.0 /s /q
RD %PathNetFW%v3.5 /s /q
ECHO Удаление и очистка завершены.
ECHO Установка .NET Framework 1.1, 2.0, 3.0 и 3.5 с обновлениями ...
%DistrNet% /nolang
ECHO Установка завершена.
) ELSE (ECHO %AlreadyNetFW%:
FOR /D %%a IN ("%PathNetFW%v1*") DO ECHO %%~nxa
)
ECHO.
ECHO Проверка наличия установленных .NET Framework 2.0, 3.0 и 3.5 ...
IF EXIST %PathNetFW%v2.0* (ECHO %AlreadyNetFW% 2.0
IF EXIST %PathNetFW%v3.0* (ECHO %AlreadyNetFW% 3.0
IF EXIST %PathNetFW%v3.5* (ECHO %AlreadyNetFW% 3.5
) ELSE (ECHO %NoNetFW% 3.5.
CALL :InstallNetFW2.0-3.5)
) ELSE (ECHO %NoNetFW% 3.0.
CALL :InstallNetFW2.0-3.5)
) ELSE (ECHO %NoNetFW% 2.0.
CALL :InstallNetFW2.0-3.5)
GOTO :EOF
:InstallNetFW2.0-3.5
ECHO Удаление и очистка системы от версий .NET Framework 2.0, 3.0 и 3.5 ...
cleanup.exe /p .NET Framework 2.0 /u
cleanup.exe /p .NET Framework 3.0 /u
cleanup.exe /p .NET Framework 3.5 /u
RD %PathNetFW%v2.0.50727 /s /q
RD %PathNetFW%v3.0 /s /q
RD %PathNetFW%v3.5 /s /q
ECHO Удаление и очистка завершены.
ECHO.
ECHO Установка .NET Framework 2.0, 3.0 и 3.5 с обновлениями ...
%DistrNet% /3.5 /nolang
ECHO Установка завершена.
предусмотрена очистка системы от отсутствующей версии .NET Framework перед установкой этой версии. Так, ради алгоритма можно посмотреть. Возможно, очистка слишком избыточная, решил перестраховаться. Алгоритм проверки лучше не смотреть - не нашел документацию по командной строке setupverifier и проверку сделал тупо (просмотр папок). Ваш NSIS-овский алгоритм у меня не получается открыть, а то бы меньше вопросов задавал.