; Script generated by the HM NIS Edit Script Wizard. ; Adapted for docsis ... (c) 2003 Evvolve Media SRL. ; needs NSIS 2.0b4 or a recent CVS snapshot (does not work with 2.0b3) ; Get NSIS at http://nsis.sourceforge.net !include "MUI.nsh" !define MUI_PRODUCT "docsis" !define MUI_VERSION "@VERSION@" !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_INSTFILES !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README" !define MUI_ABORTWARNING !define MUI_ICON "${NSISDIR}\Contrib\Icons\Setup.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Icons\normal-uninstall.ico" !insertmacro MUI_LANGUAGE "English" OutFile "docsis-setup-dist.exe" InstallDir "$PROGRAMFILES\DOCSIS Configurator" InstallDirRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\docsis.exe" "" LicenseData "@CYGWIN_BUILDROOT@\COPYING" ShowInstDetails show ShowUnInstDetails show Section "Base DOCSIS kit" SEC01 SetOutPath "$INSTDIR" SetOverwrite ifnewer File "@CYGWIN_BUILDROOT@\src\docsis.exe" CreateShortCut "$DESKTOP\docsis.lnk" "$INSTDIR\docsis.exe" File "@CYGWIN_BUILDROOT@\License.txt" File "C:\cygwin\bin\cygwin1.dll" File "@CYGWIN_BUILDROOT@\README" ; In order to allow docsis to be run from everywhere, we create a batch file ; and copy that to the Windows system directory. ; We could also update the global PATH but that I don't know how to do that ; and it may require a rebooot ... FileOpen $9 $INSTDIR\docsis.bat w FileWrite $9 "@echo off$\r$\n" FileWrite $9 "set MIBS=ALL$\r$\n" FileWrite $9 "set MIBDIRS=$INSTDIR\snmp\mibs$\r$\n" FileWrite $9 "set PATH=%PATH%;$INSTDIR$\r$\n" FileWrite $9 "set SNMPCONFPATH=%PATH%;$INSTDIR\snmp\conf$\r$\n" FileWrite $9 "docsis.exe %1 %2 %3 %4 %5 %6 %7$\r$\n" FileClose $9 CopyFiles $INSTDIR\docsis.bat $SYSDIR ; Documentation SetOutPath "$INSTDIR\doc" File "@CYGWIN_BUILDROOT@\doc\index.html" File "@CYGWIN_BUILDROOT@\doc\config-format.html" File "@CYGWIN_BUILDROOT@\doc\config-settings.html" SectionEnd Section "Example files" SEC02 SetOutPath "$INSTDIR\examples" File "@CYGWIN_BUILDROOT@\examples\README" File "@CYGWIN_BUILDROOT@\examples\packetcable_mta.cfg" File "@CYGWIN_BUILDROOT@\examples\keyfile" File "@CYGWIN_BUILDROOT@\examples\docsis20_stresstest.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis20_no_snmp.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis20.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.1_stress_test.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.1_simple.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.1_oss_v3coex.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.1_classifiers2.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.1_classifiers.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.0_filters2_oidtext.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.0_filters2_oidnum.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.0_filters_oidtext.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.0_filters_oidnum.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.0_filters_NmAccess.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.0_example.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.0_basic_upgrade.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.0_basic_bpi.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.0_basic.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.0_2class_rfc2669.cfg" File "@CYGWIN_BUILDROOT@\examples\docsis1.0_2class_non-rfc2669.cfg" SectionEnd Section "SNMP MIBs" SEC03 SetOutPath "$INSTDIR\snmp\mibs" File "@NETSNMP_MIBPATH@\UDP-MIB.txt" File "@NETSNMP_MIBPATH@\UCD-SNMP-MIB.txt" File "@NETSNMP_MIBPATH@\UCD-IPFWACC-MIB.txt" File "@NETSNMP_MIBPATH@\UCD-DLMOD-MIB.txt" File "@NETSNMP_MIBPATH@\UCD-DISKIO-MIB.txt" File "@NETSNMP_MIBPATH@\UCD-DEMO-MIB.txt" File "@NETSNMP_MIBPATH@\TCP-MIB.txt" File "@NETSNMP_MIBPATH@\SNMP-VIEW-BASED-ACM-MIB.txt" File "@NETSNMP_MIBPATH@\SNMPv2-TM.txt" File "@NETSNMP_MIBPATH@\SNMPv2-TC.txt" File "@NETSNMP_MIBPATH@\SNMPv2-SMI.txt" File "@NETSNMP_MIBPATH@\SNMPv2-MIB.txt" File "@NETSNMP_MIBPATH@\SNMPv2-CONF.txt" File "@NETSNMP_MIBPATH@\SNMP-USER-BASED-SM-MIB.txt" File "@NETSNMP_MIBPATH@\SNMP-TARGET-MIB.txt" File "@NETSNMP_MIBPATH@\SNMP-PROXY-MIB.txt" File "@NETSNMP_MIBPATH@\SNMP-NOTIFICATION-MIB.txt" File "@NETSNMP_MIBPATH@\SNMP-MPD-MIB.txt" File "@NETSNMP_MIBPATH@\SNMP-FRAMEWORK-MIB.txt" File "@NETSNMP_MIBPATH@\SNMP-COMMUNITY-MIB.txt" File "@NETSNMP_MIBPATH@\SMUX-MIB.txt" File "@NETSNMP_MIBPATH@\RMON-MIB.txt" File "@NETSNMP_MIBPATH@\RFC-1215.txt" File "@NETSNMP_MIBPATH@\RFC1213-MIB.txt" File "@NETSNMP_MIBPATH@\RFC1155-SMI.txt" File "@NETSNMP_MIBPATH@\NOTIFICATION-LOG-MIB.txt" File "@NETSNMP_MIBPATH@\NET-SNMP-TC.txt" File "@NETSNMP_MIBPATH@\NET-SNMP-MIB.txt" File "@NETSNMP_MIBPATH@\NET-SNMP-EXAMPLES-MIB.txt" File "@NETSNMP_MIBPATH@\NET-SNMP-AGENT-MIB.txt" File "@NETSNMP_MIBPATH@\IPV6-UDP-MIB.txt" File "@NETSNMP_MIBPATH@\IPV6-TCP-MIB.txt" File "@NETSNMP_MIBPATH@\IPV6-TC.txt" File "@NETSNMP_MIBPATH@\IPV6-MIB.txt" File "@NETSNMP_MIBPATH@\IPV6-ICMP-MIB.txt" File "@NETSNMP_MIBPATH@\IP-MIB.txt" File "@NETSNMP_MIBPATH@\IP-FORWARD-MIB.txt" File "@NETSNMP_MIBPATH@\INET-ADDRESS-MIB.txt" File "@NETSNMP_MIBPATH@\IF-MIB.txt" File "@NETSNMP_MIBPATH@\IF-INVERTED-STACK-MIB.txt" File "@NETSNMP_MIBPATH@\IANA-LANGUAGE-MIB.txt" File "@NETSNMP_MIBPATH@\IANAifType-MIB.txt" File "@NETSNMP_MIBPATH@\IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt" File "@NETSNMP_MIBPATH@\HOST-RESOURCES-TYPES.txt" File "@NETSNMP_MIBPATH@\HOST-RESOURCES-MIB.txt" File "@NETSNMP_MIBPATH@\HCNUM-TC.txt" File "@NETSNMP_MIBPATH@\EtherLike-MIB.txt" File "@NETSNMP_MIBPATH@\AGENTX-MIB.txt" File "@NETSNMP_MIBPATH@\DISMAN-SCRIPT-MIB.txt" File "@NETSNMP_MIBPATH@\DISMAN-SCHEDULE-MIB.txt" File "@CYGWIN_BUILDROOT@\mibs\CLAB-DEF-MIB File "@CYGWIN_BUILDROOT@\mibs\DIFFSERV-DSCP-TC File "@CYGWIN_BUILDROOT@\mibs\DIFFSERV-MIB File "@CYGWIN_BUILDROOT@\mibs\DOCS-BPI2-MIB File "@CYGWIN_BUILDROOT@\mibs\DOCS-BPI-MIB File "@CYGWIN_BUILDROOT@\mibs\DOCS-CABLE-DEVICE-MIB File "@CYGWIN_BUILDROOT@\mibs\DOCS-CABLE-DEVICE-TRAP-MIB File "@CYGWIN_BUILDROOT@\mibs\DOCS-IF-EXT-MIB File "@CYGWIN_BUILDROOT@\mibs\DOCS-IF-MIB File "@CYGWIN_BUILDROOT@\mibs\DOCS-QOS-MIB File "@CYGWIN_BUILDROOT@\mibs\DOCS-SUBMGT-MIB File "@CYGWIN_BUILDROOT@\mibs\IGMP-STD-MIB File "@CYGWIN_BUILDROOT@\mibs\INTEGRATED-SERVICES-MIB File "@CYGWIN_BUILDROOT@\mibs\PKTC-EVENT-MIB File "@CYGWIN_BUILDROOT@\mibs\PKTC-IETF-SIG-MIB File "@CYGWIN_BUILDROOT@\mibs\PKTC-MTA-MIB File "@CYGWIN_BUILDROOT@\mibs\PKTC-SIG-MIB File "@CYGWIN_BUILDROOT@\mibs\RMON2-MIB File "@CYGWIN_BUILDROOT@\mibs\TOKEN-RING-RMON-MIB ; We need to tell the NET-SNMP library [statically linked into docsis] ; where to find the MIB files. SetOutPath "$INSTDIR\snmp\conf" FileOpen $9 $INSTDIR\snmp\conf\snmp.conf w FileWrite $9 "mibs ALL$\n" FileWrite $9 "mibdirs $INSTDIR\snmp\mibs$\n" FileClose $9 SectionEnd Section -AdditionalIcons WriteIniStr "$INSTDIR\docsis.url" "InternetShortcut" "URL" "http://www.evvolve.com/docsis.html" WriteIniStr "$INSTDIR\cablelabs.url" "InternetShortcut" "URL" "http://www.cablelabs.com" CreateDirectory "$SMPROGRAMS\DOCSIS Configurator" CreateShortCut "$SMPROGRAMS\DOCSIS Configurator\Documentation.lnk" "$INSTDIR\doc\index.html" CreateShortCut "$SMPROGRAMS\DOCSIS Configurator\DOCSIS Website.lnk" "$INSTDIR\docsis.url" CreateShortCut "$SMPROGRAMS\DOCSIS Configurator\Cablelabs Website.lnk" "$INSTDIR\docsis.url" CreateShortCut "$SMPROGRAMS\DOCSIS Configurator\Uninstall.lnk" "$INSTDIR\uninst.exe" SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\docsis.exe" "" "$INSTDIR\docsis.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\docsis" "DisplayName" "${MUI_PRODUCT} ${MUI_VERSION}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\docsis" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\docsis" "DisplayIcon" "$INSTDIR\docsis.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\docsis" "DisplayVersion" "${MUI_VERSION}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\docsis" "URLInfoAbout" "http://docsis.sourceforge.net" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\docsis" "Publisher" "docsis" SectionEnd !insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "These are the base programs needed by DOCSIS. The Cygwin libraries are included here for convenience. If you already have Cygwin installed, you would be better off compiling from source." !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "These are example configuration file (in text format). These are just examples, some of them are not usable in a real network. Make sure you understand what's in there before using them." !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "These are the SNMP MIBs. DOCSIS-specific MIBs are included. These files are used by docsis to decode SnmpMibObject settings in a human-readable format." !insertmacro MUI_FUNCTIONS_DESCRIPTION_END Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "${MUI_PRODUCT} ${MUI_VERSION} was successfully removed from your computer." FunctionEnd Function un.onInit MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove ${MUI_PRODUCT} ${MUI_VERSION} and all of its components?" IDYES +2 Abort FunctionEnd Section Uninstall Delete "$INSTDIR\docsis.exe" Delete "$INSTDIR\License.txt" Delete "$INSTDIR\cygwin1.dll" Delete "$INSTDIR\README" Delete "$INSTDIR\docsis.bat" Delete "$SYSDIR\docsis.bat" Delete "$INSTDIR\doc\index.html" Delete "$INSTDIR\doc\config-format.html" Delete "$INSTDIR\doc\config-settings.html" Delete "$INSTDIR\examples\README.txt" Delete "$INSTDIR\examples\packetcable_mta.cfg" Delete "$INSTDIR\examples\keyfile" Delete "$INSTDIR\examples\docsis20_stresstest.cfg" Delete "$INSTDIR\examples\docsis20_no_snmp.cfg" Delete "$INSTDIR\examples\docsis20.cfg" Delete "$INSTDIR\examples\docsis1.1_stress_test.cfg" Delete "$INSTDIR\examples\docsis1.1_simple.cfg" Delete "$INSTDIR\examples\docsis1.1_oss_v3coex.cfg" Delete "$INSTDIR\examples\docsis1.1_classifiers2.cfg" Delete "$INSTDIR\examples\docsis1.1_classifiers.cfg" Delete "$INSTDIR\examples\docsis1.0_filters2_oidtext.cfg" Delete "$INSTDIR\examples\docsis1.0_filters2_oidnum.cfg" Delete "$INSTDIR\examples\docsis1.0_filters_oidtext.cfg" Delete "$INSTDIR\examples\docsis1.0_filters_oidnum.cfg" Delete "$INSTDIR\examples\docsis1.0_filters_NmAccess.cfg" Delete "$INSTDIR\examples\docsis1.0_example.cfg" Delete "$INSTDIR\examples\docsis1.0_basic_upgrade.cfg" Delete "$INSTDIR\examples\docsis1.0_basic_bpi.cfg" Delete "$INSTDIR\examples\docsis1.0_basic.cfg" Delete "$INSTDIR\examples\docsis1.0_2class_rfc2669.cfg" Delete "$INSTDIR\examples\docsis1.0_2class_non-rfc2669.cfg" Delete "$INSTDIR\snmp\mibs\UDP-MIB.txt" Delete "$INSTDIR\snmp\mibs\UCD-SNMP-MIB.txt" Delete "$INSTDIR\snmp\mibs\UCD-IPFWACC-MIB.txt" Delete "$INSTDIR\snmp\mibs\UCD-DLMOD-MIB.txt" Delete "$INSTDIR\snmp\mibs\UCD-DISKIO-MIB.txt" Delete "$INSTDIR\snmp\mibs\UCD-DEMO-MIB.txt" Delete "$INSTDIR\snmp\mibs\TCP-MIB.txt" Delete "$INSTDIR\snmp\mibs\SNMP-VIEW-BASED-ACM-MIB.txt" Delete "$INSTDIR\snmp\mibs\SNMPv2-TM.txt" Delete "$INSTDIR\snmp\mibs\SNMPv2-TC.txt" Delete "$INSTDIR\snmp\mibs\SNMPv2-SMI.txt" Delete "$INSTDIR\snmp\mibs\SNMPv2-MIB.txt" Delete "$INSTDIR\snmp\mibs\SNMPv2-CONF.txt" Delete "$INSTDIR\snmp\mibs\SNMP-USER-BASED-SM-MIB.txt" Delete "$INSTDIR\snmp\mibs\SNMP-TARGET-MIB.txt" Delete "$INSTDIR\snmp\mibs\SNMP-PROXY-MIB.txt" Delete "$INSTDIR\snmp\mibs\SNMP-NOTIFICATION-MIB.txt" Delete "$INSTDIR\snmp\mibs\SNMP-MPD-MIB.txt" Delete "$INSTDIR\snmp\mibs\SNMP-FRAMEWORK-MIB.txt" Delete "$INSTDIR\snmp\mibs\SNMP-COMMUNITY-MIB.txt" Delete "$INSTDIR\snmp\mibs\SMUX-MIB.txt" Delete "$INSTDIR\snmp\mibs\RMON-MIB.txt" Delete "$INSTDIR\snmp\mibs\RFC-1215.txt" Delete "$INSTDIR\snmp\mibs\RFC1213-MIB.txt" Delete "$INSTDIR\snmp\mibs\RFC1155-SMI.txt" Delete "$INSTDIR\snmp\mibs\NOTIFICATION-LOG-MIB.txt" Delete "$INSTDIR\snmp\mibs\NET-SNMP-TC.txt" Delete "$INSTDIR\snmp\mibs\NET-SNMP-MIB.txt" Delete "$INSTDIR\snmp\mibs\NET-SNMP-EXAMPLES-MIB.txt" Delete "$INSTDIR\snmp\mibs\NET-SNMP-AGENT-MIB.txt" Delete "$INSTDIR\snmp\mibs\IPV6-UDP-MIB.txt" Delete "$INSTDIR\snmp\mibs\IPV6-TCP-MIB.txt" Delete "$INSTDIR\snmp\mibs\IPV6-TC.txt" Delete "$INSTDIR\snmp\mibs\IPV6-MIB.txt" Delete "$INSTDIR\snmp\mibs\IPV6-ICMP-MIB.txt" Delete "$INSTDIR\snmp\mibs\IP-MIB.txt" Delete "$INSTDIR\snmp\mibs\IP-FORWARD-MIB.txt" Delete "$INSTDIR\snmp\mibs\INET-ADDRESS-MIB.txt" Delete "$INSTDIR\snmp\mibs\IF-MIB.txt" Delete "$INSTDIR\snmp\mibs\IF-INVERTED-STACK-MIB.txt" Delete "$INSTDIR\snmp\mibs\IANA-LANGUAGE-MIB.txt" Delete "$INSTDIR\snmp\mibs\IANAifType-MIB.txt" Delete "$INSTDIR\snmp\mibs\IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt" Delete "$INSTDIR\snmp\mibs\HOST-RESOURCES-TYPES.txt" Delete "$INSTDIR\snmp\mibs\HOST-RESOURCES-MIB.txt" Delete "$INSTDIR\snmp\mibs\HCNUM-TC.txt" Delete "$INSTDIR\snmp\mibs\EtherLike-MIB.txt" Delete "$INSTDIR\snmp\mibs\AGENTX-MIB.txt" Delete "$INSTDIR\snmp\mibs\DISMAN-SCRIPT-MIB.txt" Delete "$INSTDIR\snmp\mibs\DISMAN-SCHEDULE-MIB.txt" Delete "$INSTDIR\snmp\mibs\CLAB-DEF-MIB Delete "$INSTDIR\snmp\mibs\DIFFSERV-DSCP-TC Delete "$INSTDIR\snmp\mibs\DIFFSERV-MIB Delete "$INSTDIR\snmp\mibs\DOCS-BPI2-MIB Delete "$INSTDIR\snmp\mibs\DOCS-BPI-MIB Delete "$INSTDIR\snmp\mibs\DOCS-CABLE-DEVICE-MIB Delete "$INSTDIR\snmp\mibs\DOCS-CABLE-DEVICE-TRAP-MIB Delete "$INSTDIR\snmp\mibs\DOCS-IF-EXT-MIB Delete "$INSTDIR\snmp\mibs\DOCS-IF-MIB Delete "$INSTDIR\snmp\mibs\DOCS-QOS-MIB Delete "$INSTDIR\snmp\mibs\DOCS-SUBMGT-MIB Delete "$INSTDIR\snmp\mibs\IGMP-STD-MIB Delete "$INSTDIR\snmp\mibs\INTEGRATED-SERVICES-MIB Delete "$INSTDIR\snmp\mibs\PKTC-EVENT-MIB Delete "$INSTDIR\snmp\mibs\PKTC-IETF-SIG-MIB Delete "$INSTDIR\snmp\mibs\PKTC-MTA-MIB Delete "$INSTDIR\snmp\mibs\PKTC-SIG-MIB Delete "$INSTDIR\snmp\mibs\RMON2-MIB Delete "$INSTDIR\snmp\mibs\TOKEN-RING-RMON-MIB Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\docsis.url" Delete "$INSTDIR\cablelabs.url" Delete "$DESKTOP\docsis.lnk" Delete "$SMPROGRAMS\DOCSIS Configurator\Documentation.lnk" Delete "$SMPROGRAMS\DOCSIS Configurator\DOCSIS Website.lnk" Delete "$SMPROGRAMS\DOCSIS Configurator\Cablelabs Website.lnk" Delete "$SMPROGRAMS\DOCSIS Configurator\Uninstall.lnk" RMDir "$SMPROGRAMS\DOCSIS Configurator" RMDir "$INSTDIR\snmp\mibs" RMDir "$INSTDIR\snmp\conf" RMDir "$INSTDIR\examples" RMDir "$INSTDIR" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\docsis" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\docsis.exe" SetAutoClose true SectionEnd