MORPHIUSS Сами исходные файлы берём в
\Program Files\Common Files\McAfee\Engine\:
Лови: [more=исходный текст программы обновления]!define PRODUCT_NAME "McAfee VirusScan Enterprise Update"
!define PRODUCT_VERSION "8.5.0i"
!define PRODUCT_PUBLISHER "McAfee, Inc."
!define PRODUCT_WEB_SITE "http://www.mcafee.com/"
SetCompressor /solid lzma
!include "MUI.nsh"
var SEM
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "dat-update.exe"
!define HAVE_UPX
!ifdef HAVE_UPX
!packhdr tmpexe.tmp "UPX --best -q --compress-icons=0 tmpexe.tmp"
!endif
InstallDirRegKey HKLM "SOFTWARE\McAfee\AVEngine" "DAT"
BrandingText "McAfee VirusScan 8.5.0i Enterprise DAT Update version 5381.0000"
RequestExecutionLevel admin
AllowRootDirInstall true
XPStyle on
ShowInstDetails hide
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
ClearErrors
UserInfo::GetName
IfErrors +5
UserInfo::GetOriginalAccountType
Pop $0
StrCmp $0 "Admin" +6
StrCmp $LANGUAGE 1049 +2
MessageBox MB_OK "This Update can running only of members Administrators group." IDOK +2
MessageBox MB_OK "Это Обновление может быть запущено только Администраторами." IDOK +1
Quit
FunctionEnd
Section "main" SEC01
StrCpy $SEM 0
nsSCM::QueryStatus "McAfee McShield"
Pop $0
Pop $0
IntCmp $0 1 next next +1
IntCmp $0 7 next +1 next
nsSCM::Stop "McAfee McShield"
StrCpy $SEM 1
Pop $0
StrCmp $0 "success" next
StrCmp $LANGUAGE 1049 +2
MessageBox MB_OK|MB_ICONSTOP "Update failure. Please, manually paused service$\nMcAfee McShield and run Update again." IDOK terminate
MessageBox MB_OK|MB_ICONSTOP "Обновление не удачно. Пожалуйста, остановите службу McAfee McShield и попробуйте снова." IDOK terminate
StrCmp $LANGUAGE 1049 +2
MessageBox MB_OK|MB_ICONSTOP "Update failure. Service McAfee McShield not exist or not answer." IDOK terminate
MessageBox MB_OK|MB_ICONSTOP "Обновление не удачно. Служба McAfee McShield не существует или не отвечает." IDOK terminate
terminate:
Quit
next:
SectionEnd
Section "-install" SEC002
IfFileExists "$INSTDIR\OldEngine" +2
CreateDirectory "$INSTDIR\OldEngine"
SetOutPath "$INSTDIR\OldEngine"
SetOverwrite on
IfFileExists "$INSTDIR\config.dat" +2
Rename "$INSTDIR\config.dat" "$INSTDIR\OldEngine\config.dat"
IfFileExists "$INSTDIR\Avvscan.dat" +2
Rename "$INSTDIR\Avvscan.dat" "$INSTDIR\OldEngine\Avvscan.dat"
IfFileExists "$INSTDIR\Avvnames.dat" +2
Rename "$INSTDIR\Avvnames.dat" "$INSTDIR\OldEngine\Avvnames.dat"
IfFileExists "$INSTDIR\Avvclean.dat" +2
Rename "$INSTDIR\Avvclean.dat" "$INSTDIR\OldEngine\Avvclean.dat"
SetOverwrite ifnewer
IfFileExists "$INSTDIR\McScan32.dll" +2
Rename "$INSTDIR\McScan32.dll" "$INSTDIR\OldEngine\McScan32.dll"
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "Engine\avvclean.dat"
File "Engine\avvnames.dat"
File "Engine\avvscan.dat"
File "Engine\mcscan32.dll"
File "Engine\messages.dat"
SetOverwrite on
File "Engine\SignLic.Txt"
SetOverwrite ifnewer
File "Engine\config.dat"
File "Engine\license.dat"
SectionEnd
Section "-Post" SEC003
StrCmp $SEM 1 +1 done
nsSCM::Start "McAfee McShield"
Pop $0
StrCmp $0 "success" done
StrCmp $LANGUAGE 1049 +2
MessageBox MB_OK "Update failed. Please, correct problem and restart this Update again." IDOK exit
MessageBox MB_OK "Обновление не удачно. Пожалуйста, исправьте проблемы и запустите Обновление снова." IDOK exit
done:
StrCmp $LANGUAGE 1049 +2
MessageBox MB_OK "Update finished. Please, see detail on McAfee AntiVirus Help -> About VirusScan Enterprise." IDOK exit
MessageBox MB_OK "Обновление завершено. Подробности в McAfee AntiVirus Справка -> О VirusScan Enterprise." IDOK exit
exit:
SetAutoClose true
SectionEnd
[/more] (сохранить в формате ASCII с расширением .NSI)
Для его сборки потребуется NSIS 2.26 или новее и набор плугинов. Лучше всего возьми у меня весь пакет NSIS 2.39 - ничего не придётся искать.
Страницы закачки моего рабочего комплекта NSIS 2.39:
Зеркало 1 |
Зеркало 2 |
Зеркало 3 P.S. Скомпилил сейчас на пробу, сгодится, вышло 46 Мб, на "входе" - 47 Мб.