Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   [решено] NSIS перепаковка приложения Networx (http://forum.oszone.net/showthread.php?t=133976)

hb860 06-03-2009 13:55 1056481

NSIS перепаковка приложения Networx
 
Приложение 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, с указанными выше твиками):Скачать
Тихая установка: Networx-5.1.2.exe /S
Проверялось: Windows XP sp3 x86, Windows 7 x86. Теоретически работает во всех NT6.x при запуске инсталлятора с повышенными привелегиями.

hb860 07-03-2009 19:39 1057475

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

mariolast 07-03-2009 22:36 1057617

hb860,
Описание в шапку выложи. что за программа

hb860 08-03-2009 15:33 1058088

mariolast, сделал

gora 11-03-2009 15:33 1060608

Цитата:

Цитата hb860
Русификацию позаимствовал у участника Gora, за что ему огромнейшее спасибо. »

На здоровье. Как спасибо на форуме говорят знаете? ;)

Оригинальный аддон NetWorx v4.7.3 Rus (может использоваться и для установки на "живую" систему) можно найти здесь.

hb860 28-08-2009 23:18 1205924

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 1301406

Обновил сборку до версии 5.0.7

hb860 04-01-2010 22:15 1310904

Обновил сборку до версии 5.0.8

hb860 09-03-2010 20:57 1364695

Я обновил сборку до версии 5.1.0. Ссылка в шапке

hb860 11-05-2010 13:08 1410877

Версия 5.1.1 собрана. Ссылка в шапке, как обычно

hb860 26-06-2010 02:38 1441946

Тихая установка Networx 5.1.2
Код:

NetWorx-5.1.2 Rus.exe /S
Инсталлятор установит программу на русском языке и создаст необходимые ярлыки в меню "Пуск".
Скачать

Jene111 20-12-2013 15:56 2275661

Try the program Advanced IP Scanner 2.3 quick and convenient free network scanner IP addresses for Windows.
http://www.advancedipscanner.com


Время: 14:53.

Время: 14:53.
© OSzone.net 2001-