;-------------------------------- ; Windows 2000 with Service pack 4 hotfixes package ; by caesar - cezarica [at] prietenii [dot] com ; version 1.2.1 ;-------------------------------- ; test sections Function .onInit ClearErrors ; windows version ReadRegStr $R1 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "CurrentVersion" ; account type UserInfo::GetAccountType Pop $R2 ; service pack ReadRegStr $R3 HKLM "System\CurrentControlSet\Control\Windows" "CSDVersion" IntOp $R3 $R3 / 256 ; do tests ClearErrors StrCmp $R1 '5.0' step1 error1 error1: MessageBox MB_OK|MB_ICONQUESTION "Error! This package is for Windows 2000 Professional." IDOK quit step1: StrCmp $R2 'Admin' step2 error2 error2: MessageBox MB_OK|MB_ICONQUESTION "Error! In order to install this package you need Administrator rights." IDOK quit step2: StrCmp $R3 '4' step3 error3 error3: MessageBox MB_OK|MB_ICONQUESTION "Error! This package requires Service Pack 4." IDOK quit step3: FunctionEnd ;-------------------------------- ;General and interface settings CRCCheck on XPStyle on OutFile "setup.exe" InstallDir "$temp" BrandingText "MicroShit" Caption "Windows 2000 Professional with Service Pack 4 HotFixes" Name "Windows 2000 Professional with Service Pack 4 HotFixes" !include "MUI.nsh" !include "Sections.nsh" !define MUI_ICON "setup.ico" !define MUI_ABORTWARNING !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_BITMAP "orange-header.bmp" !define MUI_WELCOMEFINISHPAGE_BITMAP "orange.bmp" ;-------------------------------- ; Terms Of Usage !define MUI_PAGE_HEADER_TEXT "Terms of Service" !define MUI_PAGE_HEADER_SUBTEXT "Please review the terms of service before installing $(^NameDA)." !define MUI_LICENSEPAGE_TEXT_TOP "Press Page Down to see the rest of the terms." !define MUI_LICENSEPAGE_TEXT_BOTTOM "If you accept the terms of service, click the check box below. You must accept these terms to install $(^NameDA). $_CLICK" !define MUI_LICENSEPAGE_CHECKBOX !define MUI_LICENSEPAGE_CHECKBOX_TEXT "I &accept the terms of service." !insertmacro MUI_PAGE_LICENSE "License.txt" !define MUI_FINISHPAGE_TITLE "Instalation complete.." !define MUI_FINISHPAGE_CAPTITION "Instalation complete.." !define MUI_FINISHPAGE_TEXT "$(^NameDA) have been successfully installed on your computer.\r\n\r\nNote:\r\nYou need to restart your computer in order to complete the installation.\r\n\rClick Finish to close this wizard." !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_LANGUAGE "English" ;-------------------------------- ; Version information VIAddVersionKey ProductVersion "1.3" VIAddVersionKey LegalCopyright "© 2004 caesar. All rights reserved." VIAddVersionKey FileDescription "Windows 2000 Service Pack 4 hotfixes" VIAddVersionKey FileVersion "1.3" VIProductVersion "1.3.0.0" ;-------------------------------- ; test ;Subcaption 3 " " ;ChangeUI IDD_INSTFILES "LoadingBar_Icon.exe" InstProgressFlags smooth ShowInstDetails nevershow ;-------------------------------- ;Installer sections InstType "Recomanded" ; Stinger Section "Stinger" SecStinger DetailPrint "Loading McAfee's AVERT Stinger utility.." SetDetailsPrint None SectionIn 1 SetOutPath "$INSTDIR" File "stinger.exe" nsExec::Exec '"$OUTDIR\stinger.exe" /ADL /GO' Delete $OUTDIR\Stinger.exe SetDetailsPrint None SectionEnd ; Windows Updates SubSection "Windows" ; Buffer Overrun In HTML Converter Could Allow Code Execution (823559) MS03-023 Section "KB823559" SecKB823559 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB823559" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS03-023 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB823182-x86-ENU.exe" nsExec::Exec '"$OUTDIR\Windows2000-KB823559-x86-ENU.exe" -z -u' Delete $OUTDIR\Windows2000-KB823559-x86-ENU.exe SetDetailsPrint None UpdateFound: SectionEnd ; Flaw in NetBIOS Could Lead to Information Disclosure (824105) MS03-034 Section "KB824105" SecKB824105 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB824105" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS03-034 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB823559-x86-ENU.exe" nsExec::Exec '"$OUTDIR\Windows2000-KB824105-x86-ENU.exe" -z -u' Delete $OUTDIR\Windows2000-KB824105-x86-ENU.exe SetDetailsPrint None UpdateFound: SectionEnd ; Vulnerability in Authenticode Verification Could Allow Remote Code Execution (823182) MS03-041 Section "KB823182" SecKB823182 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB823182" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS03-041 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB824105-x86-ENU.exe" nsExec::Exec '"$OUTDIR\Windows2000-KB823182-x86-ENU.exe" -z -u' Delete $OUTDIR\Windows2000-KB823182-x86-ENU.exe SetDetailsPrint None UpdateFound: SectionEnd ; Buffer Overflow in Windows Troubleshooter ActiveX Control Could Allow Code Execution (826232) MS03-042 Section "KB826232" SecKB826232 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB826232" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS03-042 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB825119-x86-ENU.exe" nsExec::Exec '"$OUTDIR\Windows2000-KB826232-x86-ENU.exe" -z -u' Delete $OUTDIR\Windows2000-KB826232-x86-ENU.exe SetDetailsPrint None UpdateFound: SectionEnd ; Buffer Overrun in Messenger Service Could Allow Code Execution (828035) MS03-043 Section "KB828035" SecKB828035 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB828035" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS03-043 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB826232-x86-ENU.exe" nsExec::Exec '"$OUTDIR\Windows2000-KB828035-x86-ENU.exe" -z -u' Delete $OUTDIR\Windows2000-KB828035-x86-ENU.exe SetDetailsPrint None UpdateFound: SectionEnd ; Buffer Overrun in Windows Help and Support Center Could Lead to System Compromise (825119) MS03-044 Section "KB825119" SecKB825119 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB825119" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS03-044 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB828035-x86-ENU.exe" nsExec::Exec '"$OUTDIR\Windows2000-KB825119-x86-ENU.exe" -z -u' Delete $OUTDIR\Windows2000-KB825119-x86-ENU.exe SetDetailsPrint None UpdateFound: SectionEnd ; Buffer Overrun in the Workstation Service Could Allow Code Execution (828749) MS03-049 Section "KB828749" SecKB828749 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB828749" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS03-049 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB828741-x86-ENU.EXE" nsExec::Exec '"$OUTDIR\Windows2000-KB828749-x86-ENU.exe" -z -u' Delete $OUTDIR\Windows2000-KB828749-x86-ENU.exe SetDetailsPrint None UpdateFound: SectionEnd ; Vulnerability in the Windows Internet Naming Service (WINS) Could Allow Code Execution (830352) MS04-006 Section "KB830352" SecKB830352 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB830352" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS04-006 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB828749-x86-ENU.exe" nsExec::Exec '"$OUTDIR\Windows2000-KB830352-x86-ENU.EXE" -z -u' Delete $OUTDIR\Windows2000-KB830352-x86-ENU.EXE SetDetailsPrint None UpdateFound: SectionEnd ; Security Update for Microsoft Windows (835732) MS04-011 Section "KB835732" SecKB835732 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB835732" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS04-011 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB830352-x86-ENU.EXE" nsExec::Exec '"$OUTDIR\Windows2000-KB835732-x86-ENU.EXE" -z -u' Delete $OUTDIR\Windows2000-KB835732-x86-ENU.EXE SetDetailsPrint None UpdateFound: SectionEnd ; Cumulative Update for Microsoft RPC/DCOM (828741) MS04-012 Section "KB828741" SecKB828741 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB828741" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS04-012 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB835732-x86-ENU.EXE" nsExec::Exec '"$OUTDIR\Windows2000-KB828741-x86-ENU.EXE" -z -u' Delete $OUTDIR\Windows2000-KB828741-x86-ENU.EXE SetDetailsPrint None UpdateFound: SectionEnd ; Vulnerability in the Microsoft Jet Database Engine Could Allow Code Execution (837001) : MS04-014 Section "KB837001" SecKB837001 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB837001" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS04-014 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB837001-x86-ENU.EXE" nsExec::Exec '"$OUTDIR\Windows2000-KB837001-x86-ENU.EXE" -z -u' Delete $OUTDIR\Windows2000-KB837001-x86-ENU.EXE SetDetailsPrint None UpdateFound: SectionEnd ; Vulnerability in DirectPlay Could Allow Denial of Service (839643) : MS04-016 Section "KB839643" SecKB839643 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB839643" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS04-016 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB839643-x86-ENU.EXE" nsExec::Exec '"$OUTDIR\Windows2000-KB839643-x86-ENU.EXE" -z -u' Delete $OUTDIR\Windows2000-KB839643-x86-ENU.EXE SetDetailsPrint None UpdateFound: SectionEnd ; Vulnerability in Utility Manager Could Allow Code Execution (842526) : MS04-019 Section "KB842526" SecKB842526 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB842526" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS04-019 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB842526-x86-ENU.EXE" nsExec::Exec '"$OUTDIR\Windows2000-KB842526-x86-ENU.EXE" -z -u' Delete $OUTDIR\Windows2000-KB842526-x86-ENU.EXE SetDetailsPrint None UpdateFound: SectionEnd ; Vulnerability in POSIX Could Allow Code Execution (841872) : MS04-020 Section "KB841872" SecKB841872 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB841872" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS04-020 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB841872-x86-ENU.EXE" nsExec::Exec '"$OUTDIR\Windows2000-KB841872-x86-ENU.EXE" -z -u' Delete $OUTDIR\Windows2000-KB841872-x86-ENU.EXE SetDetailsPrint None UpdateFound: SectionEnd ; Vulnerability in Task Scheduler Could Allow Code Execution (841873) : MS04-022 Section "KB841873" SecKB841873 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB841873" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS04-022 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB841873-x86-ENU.EXE" nsExec::Exec '"$OUTDIR\Windows2000-KB841873-x86-ENU.EXE" -z -u' Delete $OUTDIR\Windows2000-KB841873-x86-ENU.EXE SetDetailsPrint None UpdateFound: SectionEnd ; Vulnerability in HTML Help Could Allow Code Execution (840315) : MS04-023 Section "KB840315" SecKB840315 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB840315" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS04-023 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB840315-x86-ENU.EXE" nsExec::Exec '"$OUTDIR\Windows2000-KB840315-x86-ENU.EXE" -z -u' Delete $OUTDIR\Windows2000-KB840315-x86-ENU.EXE SetDetailsPrint None UpdateFound: SectionEnd ; Vulnerability in Windows Shell Could Allow Remote Code Execution (839645) : MS04-024 Section "KB839645" SecKB839645 ReadRegStr $R0 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB839645" "Type" StrCmp $R0 "Update" UpdateFound Goto UpdateFound DetailPrint "Installing MS04-024 update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB839645-x86-ENU.EXE" nsExec::Exec '"$OUTDIR\Windows2000-KB839645-x86-ENU.EXE" -z -u' Delete $OUTDIR\Windows2000-KB839645-x86-ENU.EXE SetDetailsPrint None UpdateFound: SectionEnd ; Critical Update for Windows Media Player (All Versions) (KB828026) Section "KB828026" SecKB828026 DetailPrint "Installing Windows Media Player critical update.." SetOutPath "$INSTDIR" File "WindowsMedia-Q828026-x86-ENU.exe" nsExec::Exec '"WindowsMedia-Q828026-x86-ENU.exe" -z -u' Delete $OUTDIR\WindowsMedia-Q828026-x86-ENU.exe SetDetailsPrint None SectionEnd ; Security Update for Windows 2000 (KB823980) Section "KB823980" SecKB823980 ReadRegStr $1 "HKLM" "SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB823980" "Type" IntCmp $1 "Update" UpdateFound DetailPrint "Installing security update.." SectionIn RO SetOutPath "$INSTDIR" File "Windows2000-KB823980-x86-ENU.exe" nsExec::Exec '"Windows2000-KB823980-x86-ENU.exe" -z -u' Delete $OUTDIR\Windows2000-KB823980-x86-ENU.exe SetDetailsPrint None Goto UpdateEnd UpdateFound: Goto UpdateEnd UpdateEnd: SectionEnd SubSectionEnd ;-------------------------------- ;Descriptions ;Language strings LangString DESC_Stinger ${LANG_English} "Scan your computer with McAfee's AVERT Stinger utility." LangString DESC_SecKB823559 ${LANG_English} "Buffer Overrun In HTML Converter Could Allow Code Execution (823559) MS03-023" LangString DESC_SecKB824105 ${LANG_English} "Flaw in NetBIOS Could Lead to Information Disclosure (824105) MS03-034" LangString DESC_SecKB823182 ${LANG_English} "Vulnerability in Authenticode Verification Could Allow Remote Code Execution (823182) MS03-041" LangString DESC_SecKB826232 ${LANG_English} "Buffer Overflow in Windows Troubleshooter ActiveX Control Could Allow Code Execution (826232) MS03-042" LangString DESC_SecKB828035 ${LANG_English} "Buffer Overrun in Messenger Service Could Allow Code Execution (828035) MS03-043" LangString DESC_SecKB825119 ${LANG_English} "Buffer Overrun in Windows Help and Support Center Could Lead to System Compromise (825119) MS03-044" LangString DESC_SecKB828749 ${LANG_English} "Buffer Overrun in the Workstation Service Could Allow Code Execution (828749) MS03-049" LangString DESC_SecKB830352 ${LANG_English} "Vulnerability in the Windows Internet Naming Service (WINS) Could Allow Code Execution (830352) MS04-006" LangString DESC_SecKB835732 ${LANG_English} "Security Update for Microsoft Windows (835732) MS04-011" LangString DESC_SecKB828741 ${LANG_English} "Cumulative Update for Microsoft RPC/DCOM (828741) MS04-012" LangString DESC_SecKB837001 ${LANG_English} "Vulnerability in the Microsoft Jet Database Engine Could Allow Code Execution (837001) MS04-014" LangString DESC_SecKB839643 ${LANG_English} "Vulnerability in DirectPlay Could Allow Denial of Service (839643) : MS04-016" LangString DESC_SecKB842526 ${LANG_English} "Vulnerability in Utility Manager Could Allow Code Execution (842526) : MS04-019" LangString DESC_SecKB841872 ${LANG_English} "Vulnerability in POSIX Could Allow Code Execution (841872) : MS04-020" LangString DESC_SecKB841873 ${LANG_English} "Vulnerability in Task Scheduler Could Allow Code Execution (841873) : MS04-022" LangString DESC_SecKB840315 ${LANG_English} "Vulnerability in HTML Help Could Allow Code Execution (840315) : MS04-023" LangString DESC_SecKB839645 ${LANG_English} "Vulnerability in Windows Shell Could Allow Remote Code Execution (839645) : MS04-024" LangString DESC_SecKB828026 ${LANG_English} "Critical Update for Windows Media Player (All Versions) (KB828026)" LangString DESC_SecKB823980 ${LANG_English} "Security Update for Windows 2000 (KB823980)" ;Assign language strings to sections !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecStinger} $(DESC_Stinger) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB823559} $(DESC_SecKB823559) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB824105} $(DESC_SecKB824105) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB823182} $(DESC_SecKB823182) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB826232} $(DESC_SecKB826232) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB828035} $(DESC_SecKB828035) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB825119} $(DESC_SecKB825119) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB828749} $(DESC_SecKB828749) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB830352} $(DESC_SecKB830352) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB835732} $(DESC_SecKB835732) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB828741} $(DESC_SecKB828741) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB837001} $(DESC_SecKB837001) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB839643} $(DESC_SecKB839643) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB842526} $(DESC_SecKB842526) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB841872} $(DESC_SecKB841872) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB841873} $(DESC_SecKB841873) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB840315} $(DESC_SecKB840315) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB839645} $(DESC_SecKB839645) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB828026} $(DESC_SecKB828026) !insertmacro MUI_DESCRIPTION_TEXT ${SecKB823980} $(DESC_SecKB823980) !insertmacro MUI_FUNCTION_DESCRIPTION_END ; EOF!