Войти

Показать полную графическую версию : [решено] NSIS перепаковка приложения Networx


hb860
06-03-2009, 13:55
Приложение Networx (http://www.softperfect.com/products/networx/)
Бесплатная утилита для учета интернет-трафика и мониторинга скорости Интернета на вашем компьютере. Программа работает с любым кабельным или беспроводным подключением, а также модемом, предоставляя удобную статистику, отчеты и графики. Вы сможете измерить реальную скорость и загрузку вашего интернет-подключения, просматривать ежедневные, недельные и месячные отчеты и получать уведомления о перерасходе трафика.
Данные статистики могут быть экспортированы в файл Excel, Word или HTML.
Скрипт позволяет создать свою сборку, включив в неё настройки, русификацию либо что-то ещё.


!define PRODUCT_NAME "NetWorx"
!define PRODUCT_VERSION "5.1.2 Rus"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define BRANDING "By Happy Bulldozer860"
!define pkgdir "d:\package"

; MUI 1.67 compatible ------
!include "MUI.nsh"

SetCompressor /SOLID lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${pkgdir}\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
; installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH

; Uninstaller pages
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH

; Language files
!insertmacro MUI_LANGUAGE "Russian"
; MUI end ------


Name "${PRODUCT_NAME}"
Caption "Установка ${PRODUCT_NAME} ${PRODUCT_VERSION}"
UninstallCaption "Удаление ${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
ShowInstDetails show
ShowUninstDetails show
BrandingText "${BRANDING}"

Section "${PRODUCT_NAME}" SEC01
SetOutPath "$INSTDIR"
File /r "${pkgdir}\NetWorx\*.*"
;RegDLL "$INSTDIR\UnlockerCOM.dll"
WriteUninstaller "$INSTDIR\uninst.exe"

WriteRegStr HKCU "Software\SoftPerfect\NetWorx\AutoUpdate" "AutoCheckEnabled" "0"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\AutoUpdate" "QueryForAutoCheck" "0"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Graph" "ShowInTray" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Graph" "StayOnTop" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Graph" "Sticky" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "DisplayOnStartup" "0"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "EnableAutoRun" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "EnableGradient" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "EnableGridLines" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "UserLanguage" "Russian"
SetShellVarContext all
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Сайт ${PRODUCT_NAME}.lnk" "$INSTDIR\networx.url"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Справка ${PRODUCT_NAME}.lnk" "$INSTDIR\networx.chm"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\networx.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Удалить ${PRODUCT_NAME}.lnk" "$INSTDIR\uninst.exe"

WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "networx" "$\"$INSTDIR\networx.exe$\" /auto"

WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\networx.exe"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"

SetAutoClose true
SectionEnd

Section Uninstall
;UnRegDLL "$INSTDIR\UnlockerCOM.dll"
RMDir /r "$INSTDIR"
DeleteRegKey HKCU "Software\SoftPerfect\NetWorx"
SetShellVarContext all
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
DeleteRegKey HKLM "${PRODUCT_UNINST_KEY}"
DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "networx"
SetAutoClose true
SectionEnd


Function un.onInit
again:
FindWindow $0 "" "Networx"
IsWindow $0 0 done
MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP "Приложение Networx сейчас выполняется. Его следует закрыть перед удалением" IDRETRY again IDIGNORE done
Abort

done:
FunctionEnd

По умолчанию скрипт пакует файлы из {$pkgdir}\networx, добавляет прогармму в автозагрузку, отключает автоматическое обновление программы, включает график загрузки в трее.
Моя сборка(Русская 5.1.2, с указанными выше твиками):Скачать (http://winreview.ru/download.php?view.16)
Тихая установка: Networx-5.1.2.exe /S
Проверялось: Windows XP sp3 x86, Windows 7 x86. Теоретически работает во всех NT6.x при запуске инсталлятора с повышенными привелегиями.

hb860
07-03-2009, 19:39
Моя сборка(Русская 4.7.3, с указанными выше твиками)
http://depositfiles.com/files/dz2yaf300
Русификацию позаимствовал у участника Gora, за что ему огромнейшее спасибо.

mariolast
07-03-2009, 22:36
hb860,
Описание в шапку выложи. что за программа

hb860
08-03-2009, 15:33
mariolast, сделал

gora
11-03-2009, 15:33
Русификацию позаимствовал у участника Gora, за что ему огромнейшее спасибо. »На здоровье. Как спасибо на форуме говорят знаете? ;)

Оригинальный аддон NetWorx v4.7.3 Rus (может использоваться и для установки на "живую" систему) можно найти здесь (http://forum.oszone.net/thread-132576.html).

hb860
28-08-2009, 23:18
5.0.2

!define PRODUCT_NAME "NetWorx"
!define PRODUCT_VERSION "5.0.2 Rus"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define BRANDING "By Happy Bulldozer860"
!define pkgdir "d:\package"

; MUI 1.67 compatible ------
!include "MUI.nsh"

SetCompressor /SOLID lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${pkgdir}\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
; installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH

; Uninstaller pages
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH

; Language files
!insertmacro MUI_LANGUAGE "Russian"
; MUI end ------


Name "${PRODUCT_NAME}"
Caption "Установка ${PRODUCT_NAME} ${PRODUCT_VERSION}"
UninstallCaption "Удаление ${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
ShowInstDetails show
ShowUninstDetails show
BrandingText "${BRANDING}"

Section "${PRODUCT_NAME}" SEC01
SetOutPath "$INSTDIR"
File /r "${pkgdir}\NetWorx\*.*"
;RegDLL "$INSTDIR\UnlockerCOM.dll"
WriteUninstaller "$INSTDIR\uninst.exe"

WriteRegStr HKCU "Software\SoftPerfect\NetWorx\AutoUpdate" "AutoCheckEnabled" "0"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\AutoUpdate" "QueryForAutoCheck" "0"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Graph" "ShowInTray" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Graph" "StayOnTop" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Graph" "Sticky" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "DisplayOnStartup" "0"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "EnableAutoRun" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "EnableGradient" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "EnableGridLines" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "UserLanguage" "Russian"
SetShellVarContext all
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Сайт ${PRODUCT_NAME}.lnk" "$INSTDIR\networx.url"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Справка ${PRODUCT_NAME}.lnk" "$INSTDIR\networx.chm"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\networx.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Удалить ${PRODUCT_NAME}.lnk" "$INSTDIR\uninst.exe"

WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "networx" "$\"$INSTDIR\networx.exe$\" /auto"

WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\networx.exe"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"

SetAutoClose true
SectionEnd

Section Uninstall
;UnRegDLL "$INSTDIR\UnlockerCOM.dll"
RMDir /r "$INSTDIR"
DeleteRegKey HKCU "Software\SoftPerfect\NetWorx"
SetShellVarContext all
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
DeleteRegKey HKLM "${PRODUCT_UNINST_KEY}"
DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "networx"
SetAutoClose true
SectionEnd


Function un.onInit
again:
FindWindow $0 "" "Networx"
IsWindow $0 0 done
MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP "Приложение Networx сейчас выполняется. Его следует закрыть перед удалением" IDRETRY again IDIGNORE done
Abort

done:
FunctionEnd

Нового в скрипте: WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "UserLanguage" "Russian"
Тестировалось в Windows 7 6.1.7600

hb860
22-12-2009, 08:53
Обновил сборку до версии 5.0.7

hb860
04-01-2010, 22:15
Обновил сборку до версии 5.0.8

hb860
09-03-2010, 20:57
Я обновил сборку до версии 5.1.0. Ссылка в шапке

hb860
11-05-2010, 13:08
Версия 5.1.1 собрана. Ссылка в шапке, как обычно

hb860
26-06-2010, 02:38
Тихая установка Networx 5.1.2
NetWorx-5.1.2 Rus.exe /S
Инсталлятор установит программу на русском языке и создаст необходимые ярлыки в меню "Пуск".
Скачать (http://winreview.ru/download.php?view.16)

Jene111
20-12-2013, 15:56
Try the program Advanced IP Scanner 2.3 quick and convenient free network scanner IP addresses for Windows.
http://www.advancedipscanner.com




© OSzone.net 2001-2012