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

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

hb860 07-10-2008 14:44 917914

Скрипт NSIS для перепаковки Mail.ru Agent
 
Представляю свой скрипт для установки программы Mail.ru Agent 5.x с возможностью деинсталяции и тихой установки программы. Полученный дистрибутив будет отличаться от оригинала тем, что:
-ставится с ключом /S без участия пользователя
-не меняет домашней страницы браузера
-не меняет провайдера поиска
-не ставит панель "спутник"

Код скрипта:
читать дальше »

Код:

!define PRODUCT_NAME "Mail.ru Агент"
!define PRODUCT_VERSION "5.6.3402"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define Branding "By Happy Bulldozer860"
!define pkgdir "d:\package"

; MUI 1.67 compatible ------
!include "MUI.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_COMPONENTSPAGE_NODESC
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
;;;;;
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!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\Mail.ru\Agent"
BrandingText "${Branding}"
ShowInstDetails show
ShowUnInstDetails show
InstType "Полная"
InstType "Сокращенная"
InstType "un.Полное удаление ${PRODUCT_NAME}"
Section "${PRODUCT_NAME}" SEC01
        SectionIn 1 2 RO
  SetAutoClose true
  SetOutPath "$INSTDIR"
  File /r "${pkgdir}\agent\*.*"
    RegDLL "$INSTDIR\Mra\dll\mramenu.dll"
  RegDLL "$INSTDIR\Mra\dll\mratag.dll"
  ;WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "set_mrasearch" 0
  WriteRegStr HKCU "Software\Mail.Ru\Agent" "lang" "ru"
  ;;WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SavedInstSettings" 286261249
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SendSystemStatistics" 0
  ;;;;
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "ForAllUsers" 1
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "SendSystemStatistics" 0
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "version" 3270
  WriteRegStr HKLM "Software\Mail.Ru\Agent" "InstallPath" "$OUTDIR"
 
  CreateDirectory "$APPDATA\Mra\Update"
 
  SetShellVarContext all
  CreateDirectory "$SMPROGRAMS\Mail.ru"
  CreateShortCut "$SMPROGRAMS\Mail.ru\${PRODUCT_NAME}.lnk" "$OUTDIR\magent.exe"
  WriteUninstaller "$OUTDIR\uninst.exe"
  CreateShortCut "$SMPROGRAMS\Mail.ru\Удалить ${PRODUCT_NAME}.lnk" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
SectionEnd

Section /o "Ярлык на рабочем столе"
    SectionIn 1
        CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd


Section Uninstall secidx01
  SectionIn 1 RO
  DeleteRegKey HKLM "Software\Mail.Ru\Agent"
  UnRegDLL "$INSTDIR\Mra\dll\mramenu.dll"
  UnRegDLL "$INSTDIR\Mra\dll\mratag.dll"
  UnRegDLL "$INSTDIR\Mra\dll\newmrasearch.dll"
  Delete /REBOOTOK "$INSTDIR\Mra\dll\mramenu.dll"
  RMDir /r "$INSTDIR"

  SetShellVarContext all
  RMDir /r "$SMPROGRAMS\Mail.ru"
  Delete "$Desktop\${PRODUCT_NAME}.lnk"       
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  SetAutoClose true
SectionEnd


Section "Un.Удалить папку данных"
    SectionIn 1
        SetShellVarContext current
        RMDir /r "$APPDATA\Mra\"
SectionEnd

Section "Un.Удалить настройки реестра"
  SectionIn 1
  SetShellVarContext current
  DeleteRegKey HKCU "Software\Mail.Ru\Agent"
SectionEnd


Function un.onInit
        SectionSetText ${secidx01} "Удалить приложение"
FunctionEnd


Скрины:
Порядок действий:
  1. Создайте папку c:\agent.Вы можете использовать любую другую папку, . Не забудьте при этом исправить путь в строчке !define pkgdir c: в начале скрипта. Скрипт ищет файлы агента по принципу ${pkgdir}+"\agent"
  2. Поместите в неё в файлы из установленного агента(как правило, из c:\Program Files\Mail.Ru\Agent\), кроме magentsetup.exe, его заменяет деинсталятор
  3. Копилим, получаем Mail.ru Агент-<версия>.exe
Тихо ставим так: "Mail.ru Агент-<версия>.exe" /S, установится без ярлыка на рабочем столе.

Проверялось: Windows XP sp3 x86, Windows 7 RTM x86. Теоретически работает во всех NT6.x при запуске инсталлятора с повышенными привилегиями.

Загрузить готовую сборку 5.6.3402

hb860 08-01-2009 22:17 1000888

Версия 5.3
Код:

; Script generated by the HM NIS Edit Script Wizard.

; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Mail.ru Агент"
!define PRODUCT_VERSION " 5.3.2552.0"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define Branding "By Happy Bulldozer860"

; MUI 1.67 compatible ------
!include "MUI.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_COMPONENTSPAGE_NODESC
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
;;;;;
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!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\Mail.ru\Agent"
BrandingText "${Branding}"
ShowInstDetails show
ShowUnInstDetails show
InstType "Полная"
InstType "Сокращенная"
InstType "un.Полное удаление ${PRODUCT_NAME}"
Section "${PRODUCT_NAME}" SEC01
        SectionIn 1 2 RO
  SetAutoClose true
  SetOutPath "$INSTDIR"
  File /r "d:\agent\*.*"
 
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "set_mrasearch" 0
  WriteRegStr HKCU "Software\Mail.Ru\Agent" "lang" "ru"
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SavedInstSettings" 17825793
  ;;;;
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "ForAllUsers" 1
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "version" 2552
  WriteRegStr HKLM "Software\Mail.Ru\Agent" "InstallPath" "$OUTDIR"
 
  CreateDirectory "$APPDATA\Mra\Update"
 
  SetShellVarContext all
  CreateDirectory "$SMPROGRAMS\Mail.ru"
  CreateShortCut "$SMPROGRAMS\Mail.ru\${PRODUCT_NAME}.lnk" "$OUTDIR\magent.exe"
  WriteUninstaller "$OUTDIR\uninst.exe"
  CreateShortCut "$SMPROGRAMS\Mail.ru\Удалить ${PRODUCT_NAME}.lnk" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
SectionEnd

Section /o "Ярлык на рабочем столе"
    SectionIn 1
        CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd


Section Uninstall secidx01
  SectionIn 1 RO
  DeleteRegKey HKLM "Software\Mail.Ru\Agent"

  RMDir /r "$INSTDIR"

  SetShellVarContext all
  RMDir /r "$SMPROGRAMS\Mail.ru"
  Delete "$Desktop\${PRODUCT_NAME}.lnk"       
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  SetAutoClose true
SectionEnd


Section "Un.Удалить папку данных"
    SectionIn 1
        SetShellVarContext current
        RMDir /r "$APPDATA\Mra\"
SectionEnd

Section "Un.Удалить настройки реестра"
  SectionIn 1
  SetShellVarContext current
  DeleteRegKey HKCU "Software\Mail.Ru\Agent"
SectionEnd


Function un.onInit
        SectionSetText ${secidx01} "Удалить приложение"
FunctionEnd

Скачать сборку:
http://hb860.ifolder.ru/9933736
http://depositfiles.com/files/ievbsmh56
Цитата:

Цитата hb860
Тихо ставим так: "Mail.ru Агент-5.хххххх.exe" /S, установится без ярлыка на рабочем столе. »

Совместимо с Windows 7 (6.1.7000) :)

hb860 04-03-2009 19:56 1055015

Версия 5.4
Код:

; Script generated by the HM NIS Edit Script Wizard.

; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Mail.ru Агент"
!define PRODUCT_VERSION " 5.4.2606"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define Branding "By Happy Bulldozer860"

; MUI 1.67 compatible ------
!include "MUI.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_COMPONENTSPAGE_NODESC
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
;;;;;
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!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\Mail.ru\Agent"
BrandingText "${Branding}"
ShowInstDetails show
ShowUnInstDetails show
InstType "Полная"
InstType "Сокращенная"
InstType "un.Полное удаление ${PRODUCT_NAME}"
Section "${PRODUCT_NAME}" SEC01
        SectionIn 1 2 RO
  SetAutoClose true
  SetOutPath "$INSTDIR"
  File /r "d:\agent\*.*"
 
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "set_mrasearch" 0
  WriteRegStr HKCU "Software\Mail.Ru\Agent" "lang" "ru"
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SavedInstSettings" 286261249
  ;;;;
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "ForAllUsers" 1
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "version" 2606
  WriteRegStr HKLM "Software\Mail.Ru\Agent" "InstallPath" "$OUTDIR"
 
  CreateDirectory "$APPDATA\Mra\Update"
 
  SetShellVarContext all
  CreateDirectory "$SMPROGRAMS\Mail.ru"
  CreateShortCut "$SMPROGRAMS\Mail.ru\${PRODUCT_NAME}.lnk" "$OUTDIR\magent.exe"
  WriteUninstaller "$OUTDIR\uninst.exe"
  CreateShortCut "$SMPROGRAMS\Mail.ru\Удалить ${PRODUCT_NAME}.lnk" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
SectionEnd

Section /o "Ярлык на рабочем столе"
    SectionIn 1
        CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd


Section Uninstall secidx01
  SectionIn 1 RO
  DeleteRegKey HKLM "Software\Mail.Ru\Agent"

  RMDir /r "$INSTDIR"

  SetShellVarContext all
  RMDir /r "$SMPROGRAMS\Mail.ru"
  Delete "$Desktop\${PRODUCT_NAME}.lnk"       
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  SetAutoClose true
SectionEnd


Section "Un.Удалить папку данных"
    SectionIn 1
        SetShellVarContext current
        RMDir /r "$APPDATA\Mra\"
SectionEnd

Section "Un.Удалить настройки реестра"
  SectionIn 1
  SetShellVarContext current
  DeleteRegKey HKCU "Software\Mail.Ru\Agent"
SectionEnd


Function un.onInit
        SectionSetText ${secidx01} "Удалить приложение"
FunctionEnd

Тихо ставим так: "Mail.ru Агент-5.хххххх.exe" /S, установится без ярлыка на рабочем столе. »
Скачать сборку:
http://files.mail.ru/C2DU4G
Файлы будут храниться до 9 марта 2009 года, каждое скачивание файлов продлевает их срок хранения еще на 5 дней.

Habetdin 09-06-2009 13:35 1139102

Ждём скрипт для MRA v5.5.xxxx :)

hb860 09-06-2009 22:50 1139532

Версия 5.5
Код:

; Script generated by the HM NIS Edit Script Wizard.

; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Mail.ru Агент"
!define PRODUCT_VERSION "5.5.2746"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define Branding "By Happy Bulldozer860"

; MUI 1.67 compatible ------
!include "MUI.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_COMPONENTSPAGE_NODESC
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
;;;;;
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!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\Mail.ru\Agent"
BrandingText "${Branding}"
ShowInstDetails show
ShowUnInstDetails show
InstType "Полная"
InstType "Сокращенная"
InstType "un.Полное удаление ${PRODUCT_NAME}"
Section "${PRODUCT_NAME}" SEC01
        SectionIn 1 2 RO
  SetAutoClose true
  SetOutPath "$INSTDIR"
  File /r "d:\agent\*.*"
 
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "set_mrasearch" 0
  WriteRegStr HKCU "Software\Mail.Ru\Agent" "lang" "ru"
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SavedInstSettings" 286261248
  ;;;;
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "ForAllUsers" 1
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "version" 2746
  WriteRegStr HKLM "Software\Mail.Ru\Agent" "InstallPath" "$OUTDIR"
 
  CreateDirectory "$APPDATA\Mra\Update"
 
  SetShellVarContext all
  CreateDirectory "$SMPROGRAMS\Mail.ru"
  CreateShortCut "$SMPROGRAMS\Mail.ru\${PRODUCT_NAME}.lnk" "$OUTDIR\magent.exe"
  WriteUninstaller "$OUTDIR\uninst.exe"
  CreateShortCut "$SMPROGRAMS\Mail.ru\Удалить ${PRODUCT_NAME}.lnk" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
SectionEnd

Section /o "Ярлык на рабочем столе"
    SectionIn 1
        CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd


Section Uninstall secidx01
  SectionIn 1 RO
  DeleteRegKey HKLM "Software\Mail.Ru\Agent"

  RMDir /r "$INSTDIR"

  SetShellVarContext all
  RMDir /r "$SMPROGRAMS\Mail.ru"
  Delete "$Desktop\${PRODUCT_NAME}.lnk"       
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  SetAutoClose true
SectionEnd


Section "Un.Удалить папку данных"
    SectionIn 1
        SetShellVarContext current
        RMDir /r "$APPDATA\Mra\"
SectionEnd

Section "Un.Удалить настройки реестра"
  SectionIn 1
  SetShellVarContext current
  DeleteRegKey HKCU "Software\Mail.Ru\Agent"
SectionEnd


Function un.onInit
        SectionSetText ${secidx01} "Удалить приложение"
FunctionEnd

Всегда пожалуйста

Сборка без дури тут:
http://files.mail.ru/QQSOLK
Файлы будут храниться до 14 июня 2009 года, каждое скачивание файлов продлевает их срок хранения еще на 5 дней.

Тыкайте меня периодически на предмет моих скриптов/сборок. Времени щас нет, не за всем успеваю следить, но на форум хожу

Habetdin 10-06-2009 00:13 1139616

hb860, меняется только
Цитата:

Цитата hb860
!define PRODUCT_VERSION "5.5.2746" »

?
P.S.: Строка:
Цитата:

Цитата hb860
File /r "d:\agent\*.*" »

не сходится с этим:
Цитата:

Цитата hb860
Создайте папку c:\agent »

:)
и может в заголовке темы написать не для v5.2, а для v5.xx?

hb860 10-06-2009 10:20 1139841

Вот это ещё меняется:
Цитата:

Цитата hb860
WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SavedInstSettings" 286261248
......
WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "version" 2746 »

У меня на каком то этапе на диске С: место кончилось, я папку сменил, а тут не отписался. Щас напишу что-нибудь умное в шапке

Habetdin 10-06-2009 17:45 1140240

Цитата:

Цитата hb860
WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SavedInstSettings" 286261248 »

Как получить "286261248"? Это в каком формате?=)

hb860 11-06-2009 08:30 1140728

Habetdin, это в десятичной системе счисления. Ну отображаться оно будет в реестре именно как DWORD

Habetdin 30-06-2009 15:13 1155516

Цитата:

Цитата hb860
Ну отображаться оно будет в реестре именно как DWORD »

Вы не поняли меня, как мне получить это значение, что оно означает? :dont-know

hb860 30-06-2009 20:06 1155756

Habetdin, сам не знаю. Беру после установки его из реестра.

hb860 28-08-2009 21:17 1205841

5.5.2842
Код:

; Script generated by the HM NIS Edit Script Wizard.

; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Mail.ru Агент"
!define PRODUCT_VERSION "5.5.2842"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define Branding "By Happy Bulldozer860"

; MUI 1.67 compatible ------
!include "MUI.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_COMPONENTSPAGE_NODESC
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
;;;;;
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!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\Mail.ru\Agent"
BrandingText "${Branding}"
ShowInstDetails show
ShowUnInstDetails show
InstType "Полная"
InstType "Сокращенная"
InstType "un.Полное удаление ${PRODUCT_NAME}"
Section "${PRODUCT_NAME}" SEC01
        SectionIn 1 2 RO
  SetAutoClose true
  SetOutPath "$INSTDIR"
  File /r "d:\agent\*.*"
 
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "set_mrasearch" 0
  WriteRegStr HKCU "Software\Mail.Ru\Agent" "lang" "ru"
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SavedInstSettings" 286261249
  ;;;;
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "ForAllUsers" 1
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "version" 2842
  WriteRegStr HKLM "Software\Mail.Ru\Agent" "InstallPath" "$OUTDIR"
 
  CreateDirectory "$APPDATA\Mra\Update"
 
  SetShellVarContext all
  CreateDirectory "$SMPROGRAMS\Mail.ru"
  CreateShortCut "$SMPROGRAMS\Mail.ru\${PRODUCT_NAME}.lnk" "$OUTDIR\magent.exe"
  WriteUninstaller "$OUTDIR\uninst.exe"
  CreateShortCut "$SMPROGRAMS\Mail.ru\Удалить ${PRODUCT_NAME}.lnk" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
SectionEnd

Section /o "Ярлык на рабочем столе"
    SectionIn 1
        CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd


Section Uninstall secidx01
  SectionIn 1 RO
  DeleteRegKey HKLM "Software\Mail.Ru\Agent"

  RMDir /r "$INSTDIR"

  SetShellVarContext all
  RMDir /r "$SMPROGRAMS\Mail.ru"
  Delete "$Desktop\${PRODUCT_NAME}.lnk"       
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  SetAutoClose true
SectionEnd


Section "Un.Удалить папку данных"
    SectionIn 1
        SetShellVarContext current
        RMDir /r "$APPDATA\Mra\"
SectionEnd

Section "Un.Удалить настройки реестра"
  SectionIn 1
  SetShellVarContext current
  DeleteRegKey HKCU "Software\Mail.Ru\Agent"
SectionEnd


Function un.onInit
        SectionSetText ${secidx01} "Удалить приложение"
FunctionEnd

Проверил на 6.1.7600 RTM
Есть сборка вот с такими пожеланиями:
Цитата:

Цитата Bond01
hb860, можно сделать с ярлыком в панели быстрого запуска и чтоб он устанавливался в пуск - все программы - без папки и без деинсталляции, так считаю будет красивее(одним ярлыком) »

http://forum.oszone.net/post-1217150-22.html
Автор сборки Habetdin, ему и говорим за неё спасибо.

Bond01 10-09-2009 00:49 1215233

hb860, можно сделать с ярлыком в панели быстрого запуска и чтоб он устанавливался в пуск - все программы - без папки и без деинсталляции, так считаю будет красивее(одним ярлыком)

Habetdin 10-09-2009 01:12 1215246

Bond01,
Код:

; Script generated by the HM NIS Edit Script Wizard.

; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Mail.ru Агент"
!define PRODUCT_VERSION "5.5.2842"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define Branding "By Happy Bulldozer860"

; MUI 1.67 compatible ------
!include "MUI.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_COMPONENTSPAGE_NODESC
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!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\Mail.ru\Agent"
BrandingText "${Branding}"
ShowInstDetails show
ShowUnInstDetails show
InstType "Полная"
InstType "Сокращенная"
InstType "un.Полное удаление ${PRODUCT_NAME}"
Section "${PRODUCT_NAME}" SEC01
        SectionIn 1 2 RO
  SetAutoClose true
  SetOutPath "$INSTDIR"
  File /r "d:\agent\*.*"
 
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "set_mrasearch" 0
  WriteRegStr HKCU "Software\Mail.Ru\Agent" "lang" "ru"
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SavedInstSettings" 286261249
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "ForAllUsers" 1
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "version" 2842
  WriteRegStr HKLM "Software\Mail.Ru\Agent" "InstallPath" "$OUTDIR"
 
  CreateDirectory "$APPDATA\Mra\Update"
 
  SetShellVarContext all
  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}.lnk" "$OUTDIR\magent.exe"
  WriteUninstaller "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
SectionEnd

Section "Ярлык на рабочем столе и в панели быстрого запуска"
    SectionIn 1
        CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
        CreateShortCut "$QUICKLAUNCH\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd


Section Uninstall secidx01
  SectionIn 1 RO
  DeleteRegKey HKLM "Software\Mail.Ru\Agent"

  RMDir /r "$INSTDIR"

  SetShellVarContext all
  Delete "$SMPROGRAMS\${PRODUCT_NAME}.lnk"
  Delete "$Desktop\${PRODUCT_NAME}.lnk"
  Delete "$QUICKLAUNCH\${PRODUCT_NAME}.lnk"
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  SetAutoClose true
SectionEnd

Section "Un.Удалить папку данных"
    SectionIn 1
        SetShellVarContext current
        RMDir /r "$APPDATA\Mra\"
SectionEnd

Section "Un.Удалить настройки реестра"
  SectionIn 1
  SetShellVarContext current
  DeleteRegKey HKCU "Software\Mail.Ru\Agent"
SectionEnd

Function un.onInit
        SectionSetText ${secidx01} "Удалить приложение"
FunctionEnd


hb860 10-09-2009 17:14 1215870

Допишу в скрипт,выложу с конфигуратором, как в k-lite(ну или как в аимпе я реализовал). Каждый сможет настроить под себя. Кстати, с выбором папки в меню пуск - идею неплохая.

Bond01 10-09-2009 17:27 1215890

Habetdin, не получается, в пуске просто папка, при запуске см. скрин.
Можно сделать еще принудительно ярлык без выбора, чтоб устанавливался, или при тихой установке он всеравно будет?

hb860 10-09-2009 22:24 1216116

Bond01, чтобы был ярлык по умолчанию, убрать /o тут
Код:

Section /o "Ярлык на рабочем столе и в панели быстрого запуска"
будет так
Код:

Section  "Ярлык на рабочем столе и в панели быстрого запуска"
В скрипте Habetdin ошибка, надо чтоб было
Код:

CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}.lnk" "$OUTDIR\magent.exe"
Сотри лишнюю кавычку тут ${PRODUCT_NAME}.lnk""

Bond01 10-09-2009 22:55 1216146

Пасибо, вот копаюсь, все :) сейчас буду пробовать.

ошибку выдает - !include "MUI.nsh" :jump:

hb860 11-09-2009 20:19 1216820

Версия инсталятора ?
Вообще этот муи поддерживается с 1.67 и выше, я последней пользуюсь, но я уверяю, с 2.03 нормально компилилось, я лично проверял.

Bond01 12-09-2009 01:47 1216984

Нет, что-то не получается у меня:cry: , буду ждать Вашу версию, может учтете мои пожелания.

Habetdin 12-09-2009 13:40 1217150

Bond01, советую переустановить NSIS
Вот Mail.Ru Агент 5.5.2842 с вашими пожеланиями ;)
Upd: Ссылку удалил

Bond01 12-09-2009 15:11 1217212

Habetdin, спасибо, все отлично, как я хотел, так удобнее.

hb860 14-12-2009 00:17 1294636

5.5.2842 в шапке, ссылка на сборку+скрипт

hb860 17-12-2009 11:57 1297520

Вышел 5.6
Вечером всё будет

Habetdin 17-12-2009 15:27 1297756

Mail.Ru Агент v5.6.3270
читать дальше »
Код:

!define PRODUCT_NAME "Mail.Ru Агент"
!define PRODUCT_VERSION "5.6.3270"
;!define PRODUCT_PUBLISHER "Habetdin"
;!define PRODUCT_WEB_SITE "http://forum.oszone.net/showthread.php?t=102452"
!define PRODUCT_DIR_REGKEY "Software\Habetdin\Mail.Ru Agent"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"

SetCompressor /SOLID lzma

!define MUI_ABORTWARNING
!define MUI_COMPONENTSPAGE_NODESC
;!define MUI_ICON "C:\Icons\agent.ico"
;!define MUI_UNICON "C:\Icons\orange-uninstall.ico"
!include "MUI.nsh"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
!insertmacro MUI_LANGUAGE "Russian"
BrandingText "—— Compiled by Habetdin"
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME}.${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\Mail.Ru\Agent"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "InstallPath"
ShowInstDetails nevershow
ShowUnInstDetails nevershow
Caption "${PRODUCT_NAME} ${PRODUCT_VERSION}"
UninstallCaption "Удаление ${PRODUCT_NAME} ${PRODUCT_VERSION}"
InstType "Полная"
InstType "Сокращенная"
InstType "un.Полное удаление ${PRODUCT_NAME}"

Section "${PRODUCT_NAME}" SEC01
        SectionIn 1 2 RO
  SetOutPath "$INSTDIR"
  File /r "C:\Agent\*.*"
  SetShellVarContext all
  CreateDirectory "$SMPROGRAMS\Mail.Ru"
  CreateShortCut "$SMPROGRAMS\Mail.Ru\Mail.Ru Агент.lnk" "$INSTDIR\magent.exe"
  CreateShortCut "$SMPROGRAMS\Mail.Ru\Удалить Mail.Ru Агент.lnk" "$INSTDIR\uninst.exe"
SectionEnd

Section /o "Ярлык на рабочем столе"
  SectionIn 1
  SetShellVarContext all
  CreateShortCut "$DESKTOP\Mail.Ru Агент.lnk" "$INSTDIR\magent.exe"
SectionEnd

Section -Post
  WriteUninstaller "$INSTDIR\uninst.exe"
  WriteRegStr HKCU "Software\Mail.Ru\Agent" "lang" "ru"
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SavedInstSettings" 286261249
  WriteRegStr HKLM "Software\Mail.Ru\Agent" "InstallPath" "$INSTDIR"
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "ForAllUsers" 1
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "version" 3270
  WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "InstallPath" "$INSTDIR\magent.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\magent.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
;  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
;  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd

Section Uninstall secidx01
  SectionIn 1 RO
  DeleteRegKey HKLM "Software\Mail.Ru\Agent"
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
  Delete /REBOOTOK "$INSTDIR\Mra\dll\mramenu.dll"
  RMDir /r "$INSTDIR"
  SetShellVarContext all
  Delete "$DESKTOP\Mail.Ru Агент.lnk"
  RMDir /r "$SMPROGRAMS\Mail.Ru"
  SetAutoClose true
SectionEnd

Section "Un.Удалить папку данных"
    SectionIn 1
        SetShellVarContext current
        RMDir /r "$APPDATA\Mra\"
SectionEnd

Section "Un.Удалить настройки реестра"
  SectionIn 1
  SetShellVarContext current
  DeleteRegKey HKCU "Software\Mail.Ru\Agent"
SectionEnd

Function un.onInit
        SectionSetText ${secidx01} "Удалить приложение"
FunctionEnd


Оффтопик
Цитата:

Цитата hb860
Я реально начинаю бояться за конфиденциальность. Зло »

Надо было отключать сеть ;)
:lol:

hb860 17-12-2009 21:12 1298016

Habetdin, почти
Код:

;WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "set_mrasearch" 0
  WriteRegStr HKCU "Software\Mail.Ru\Agent" "lang" "ru"
  ;;WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SavedInstSettings" 286261249
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SendSystemStatistics" 0
  ;;;;
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "ForAllUsers" 1
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "SendSystemStatistics" 0
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "version" 3270
  WriteRegStr HKLM "Software\Mail.Ru\Agent" "InstallPath" "$OUTDIR"

Вобщем, новые возможности:
-Местоположение
-Поддержка Windows7
-Возможно, вы знакомы

Всё в шапке.

Я реально начинаю бояться за конфиденциальность. Зло

hb860 18-01-2010 23:59 1323871

Mail.ru Agent обновлен до версии 5.6.3278
Забирайте в шапке, ребята

Habetdin 22-01-2010 02:42 1326602

hb860, можно добавить опциональный выбор:
Код:

...
  Section -Post
; Фичи в контекстном меню при запущеном агенте с выполненным входом
  RegDLL "$INSTDIR\Mra\dll\mramenu.dll"
; Поддержка опции отображения, что играет в данный момент в плеере
  RegDLL "$INSTDIR\Mra\dll\mratag.dll"
; Поиск@Mail.RU по-умолчанию в системе
;  RegDLL "$INSTDIR\Mra\dll\newmrasearch.dll"

...
Section Uninstall secidx01
  SectionIn 1 RO
  UnRegDLL "$INSTDIR\Mra\dll\mramenu.dll"
  UnRegDLL "$INSTDIR\Mra\dll\mratag.dll"
;  UnRegDLL "$INSTDIR\Mra\dll\newmrasearch.dll"
  Delete /REBOOTOK "$INSTDIR\Mra\dll\mramenu.dll"

  RMDir /r "$INSTDIR"
...

:)

hb860 23-01-2010 00:07 1327373

После долгого перетирания с господином Хабетдином (лол, складно) вышенаписанного сабжа, мы пришли к выводу, что код скрипта надо сделать таким:
Код:

  RegDLL "$INSTDIR\Mra\dll\mramenu.dll"
  RegDLL "$INSTDIR\Mra\dll\mratag.dll"

Section Uninstall secidx01
  SectionIn 1 RO
  UnRegDLL "$INSTDIR\Mra\dll\mramenu.dll"
  UnRegDLL "$INSTDIR\Mra\dll\mratag.dll"
  UnRegDLL "$INSTDIR\Mra\dll\newmrasearch.dll"
  Delete /REBOOTOK "$INSTDIR\Mra\dll\mramenu.dll"
  RMDir /r "$INSTDIR"

Обновляю скрипт в шапке

Alex_teater@ 07-02-2010 09:59 1341131

hb860, у меня вопрос как сделать чтоб ярлык устанавливался как на рабочий стол, так и в понель быстрого запуска?

Я просто решил пересобрать по вашему скрипту всё норм. Но после установки нифига не запускается, выдает какую-то ошибку

Я просто так пологаю чтобы галочка на ярлык на рабочий стол стояла постоянно достаточно удалить"/o"

Код:

Section /o "Ярлык на рабочем столе"
    SectionIn 1
        CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd

Все наконец то вовсем разобрался.
Спасибо за скрипт.
P.S с иконкой в понель быстрого запуска разобрался.

А вот как сделать чтоб в понель быстрого запуска ставился?
В принципе далжна быть такая же секция, но вот какой сам пораметр $Quicklauch? или нет

hb860 07-02-2010 18:54 1341464

Код:

Section  "Ярлык в панели быстрого запуска"
    SectionIn 1
            SetShellVarContext all
        CreateShortCut "$QUICKLAUNCH\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd

:oszone:

Alex_teater@ 07-02-2010 21:10 1341565

hb860, слушай а почему не так как на десктоп?
Просто я использую вот так
Код:

Section "Ярлык на рабочем столе"
    SectionIn 1
        CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd

Section "Ярлык в понель быстрого запуска"
    SectionIn 1
        CreateShortCut "$Quicklaunch\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd

Цитата:

Цитата hb860
SetShellVarContext all

откуда этот параметр?

K.A.V. 07-02-2010 22:09 1341603

Код:

SetShellVarContext all
Это прописывается, чтобы NSIS создавал ярлыки для всех пользователей, т.е. помещал ярлыки в папку "All Users", чтобы восстановить значение по-умолчанию (чтобы вновь создавать только для текущего пользователя), необходимо прописать
Код:

SetShellVarContext current

Alex_teater@ 08-02-2010 05:32 1341798

K.A.V., спасибо. Круто буду знать.

cleric1985_n 21-02-2010 00:24 1352291

Подскажите как задать, чтобы по умолчанию с ключем /S ставился с ярлыком на рабочий стол?


сори...уже увидел пост...

hb860 11-05-2010 19:40 1411137

Тихая установка Mail.ru Агент 5.6.3399

hb860 26-06-2010 02:31 1441942

Тихая установка Mail.ru Агент версии 5.6.3402

Habetdin 30-07-2010 03:02 1463286

Скрипт для перепаковки MRA 5.7.3637
Код:

!define PRODUCT_NAME "Mail.ru Агент"
!define PRODUCT_VERSION "5.7.3637"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define Branding "OSzone.net"
!define pkgdir "D:\MRA"

; MUI 1.67 compatible ------
!include "MUI.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_COMPONENTSPAGE_NODESC
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
;;;
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!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\Mail.ru\Agent"
BrandingText "${Branding}"
ShowInstDetails show
ShowUnInstDetails show
InstType "Полная"
InstType "Сокращенная"
InstType "un.Полное удаление ${PRODUCT_NAME}"
Section "${PRODUCT_NAME}" SEC01
        SectionIn 1 2 RO
  SetAutoClose true
  SetOutPath "$INSTDIR"
  File /r "${pkgdir}\agent\*.*"
  RegDLL "$INSTDIR\Mra\dll\mramenu.dll"
  RegDLL "$INSTDIR\Mra\dll\mratag.dll"
  ;WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "set_mrasearch" 0
  WriteRegStr HKCU "Software\Mail.Ru\Agent" "lang" "ru"
  ;WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SavedInstSettings" 286261249
  WriteRegDWORD HKCU "Software\Mail.Ru\Agent" "SendSystemStatistics" 0
  ;;;
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "ForAllUsers" 1
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "SendSystemStatistics" 0
  WriteRegDWORD HKLM "Software\Mail.Ru\Agent" "version" 3270
  WriteRegStr HKLM "Software\Mail.Ru\Agent" "InstallPath" "$OUTDIR"
 
  CreateDirectory "$APPDATA\Mra\Update"
 
  SetShellVarContext all
  CreateDirectory "$SMPROGRAMS\Mail.ru"
  CreateShortCut "$SMPROGRAMS\Mail.ru\${PRODUCT_NAME}.lnk" "$OUTDIR\magent.exe"
  WriteUninstaller "$OUTDIR\uninst.exe"
  CreateShortCut "$SMPROGRAMS\Mail.ru\Удалить ${PRODUCT_NAME}.lnk" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
SectionEnd

Section /o "Ярлык на рабочем столе"
    SectionIn 1
        CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd


Section Uninstall secidx01
  SectionIn 1 RO
  DeleteRegKey HKLM "Software\Mail.Ru\Agent"
  UnRegDLL "$INSTDIR\Mra\dll\mramenu.dll"
  UnRegDLL "$INSTDIR\Mra\dll\mratag.dll"
  UnRegDLL "$INSTDIR\Mra\dll\newmrasearch.dll"
  Delete /REBOOTOK "$INSTDIR\Mra\dll\mramenu.dll"
  RMDir /r "$INSTDIR"

  SetShellVarContext all
  RMDir /r "$SMPROGRAMS\Mail.ru"
  Delete "$Desktop\${PRODUCT_NAME}.lnk"       
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  DeleteRegValue HKCU "Software\Microsoft\Internet Explorer\URLSearchHooks" "{83821C2B-32A8-4DD7-B6D4-44309A78E668}"
  DeleteRegKey HKLM "SOFTWARE\Classes\*\shellex\ContextMenuHandlers\MRACMenu"

  SetAutoClose true
SectionEnd


Section "Un.Удалить папку данных"
    SectionIn 1
        SetShellVarContext current
        RMDir /r "$APPDATA\Mra\"
SectionEnd

Section "Un.Удалить настройки реестра"
  SectionIn 1
  SetShellVarContext current
  DeleteRegKey HKCU "Software\Mail.Ru\Agent"
SectionEnd


Function un.onInit
        SectionSetText ${secidx01} "Удалить приложение"
FunctionEnd


hb860 02-08-2010 22:54 1465611

Я собрал сборку Mail.ru Агент 5.7 build 3639
Код:

Mail.ru Агент-5.7.3639.exe /S
Цитата:

-не будет изменена домашняя страница браузера на mail.ru,
-не изменится провайдера поиска,
-не будет установлена панель "Спутник",
-не потребуется вмешательства с вашей стороны в процесс установки.
Забираем

spider123 04-08-2010 15:25 1466739

hb860, версия файла и в свойствах - 3402!

hb860 04-08-2010 15:43 1466750

простите, не из той папки собрал
Перезалил

APuCToKPaT 25-08-2010 13:43 1481335

У тебя ошибка в скрипте в 5 строке
у тебя
Цитата:

!define pkgdir "d:\package"
раз ты создал папку c:\agent то надо
Цитата:

!define pkgdir "C:"
Вот последняя версия - Mail.ru Агент-5.7.3686

hb860 25-08-2010 16:12 1481484

у меня просто инструкция старая
со скриптом всё в порядке)

codenameskif 01-05-2012 15:46 1908751

Ребят всем привет, все ссылки битые, может кто скомпилит новую версию агента с тихой установкой или объясните пожалуйста как пользоваться выше приведенным скриптом

alert30 01-05-2012 15:58 1908755

codenameskif, скачать свежую программу из популярной сайты Mail.Ru, установить его, взять NSIS, скопировать NSIS скрипт из шапки (в шапках написано "Код скрипта") и скомпилировать его. Сам бы сделал, но руки не очень то прямые.

codenameskif 02-05-2012 08:24 1909054

alert30, Все понятно, спасибо

zrogeb 15-04-2015 15:12 2496154

я делал так:
открыл исходный файлег magent_rfrset.exe через 7zip, распаковал всё в новый каталог
оттуда взял каталоги program_files\mra, закинул туда *.dll из каталога program_files_dll и файл magent.exe туда же.

в скрипт поправил путь на вложенный каталог
File /r "f:\mra\*.*"

всё работает и с новыми версиями, но у меня один вопрос:

Господа, как сделать чтобы установка была тихая, но полная с ярлыком на раб.столе?

естественно что с ключом /S.

вообщем решил так:

в конце секции добавил создание ярлыка
PHP код:

Section "${PRODUCT_NAME}" SEC01
....
....
  
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY"${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
  
CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd 


MKN 16-04-2015 11:37 2496511

Цитата:

Цитата zrogeb
чтобы установка была тихая »

Есть же ключ /S
Цитата:

Цитата zrogeb
но полная с ярлыком на раб.столе »

Как организуешь скрипт - так и будет...


Время: 10:07.

Время: 10:07.
© OSzone.net 2001-