Показать полную графическую версию : Скрипт NSIS для перепаковки Mail.ru Agent
Habetdin
12-09-2009, 13:40
Bond01, советую переустановить NSIS
Вот Mail.Ru Агент 5.5.2842 с вашими пожеланиями ;)
Upd: Ссылку удалил
Habetdin, спасибо, все отлично, как я хотел, так удобнее.
5.5.2842 в шапке, ссылка на сборку+скрипт
Вышел 5.6
Вечером всё будет
Habetdin
17-12-2009, 15:27
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
Я реально начинаю бояться за конфиденциальность. Зло »
Надо было отключать сеть ;)
:lol:
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
-Возможно, вы знакомы
Всё в шапке.
Я реально начинаю бояться за конфиденциальность. Зло
Mail.ru Agent обновлен до версии 5.6.3278
Забирайте в шапке, ребята
Habetdin
22-01-2010, 02:42
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"
...
:)
После долгого перетирания с господином Хабетдином (лол, складно) вышенаписанного сабжа, мы пришли к выводу, что код скрипта надо сделать таким:
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
hb860, у меня вопрос как сделать чтоб ярлык устанавливался как на рабочий стол, так и в понель быстрого запуска?
Я просто решил пересобрать по вашему скрипту всё норм. Но после установки нифига не запускается, выдает какую-то ошибку
http://s002.radikal.ru/i197/1002/7e/b3c760280e12.png (http://www.radikal.ru)
Я просто так пологаю чтобы галочка на ярлык на рабочий стол стояла постоянно достаточно удалить"/o"
Section /o "Ярлык на рабочем столе"
SectionIn 1
CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd
Все наконец то вовсем разобрался.
Спасибо за скрипт.
P.S с иконкой в понель быстрого запуска разобрался.
А вот как сделать чтоб в понель быстрого запуска ставился?
В принципе далжна быть такая же секция, но вот какой сам пораметр $Quicklauch? или нет
Section "Ярлык в панели быстрого запуска"
SectionIn 1
SetShellVarContext all
CreateShortCut "$QUICKLAUNCH\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd
:oszone:
Alex_teater@
07-02-2010, 21:10
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
SetShellVarContext all
откуда этот параметр?
SetShellVarContext all
Это прописывается, чтобы NSIS создавал ярлыки для всех пользователей, т.е. помещал ярлыки в папку "All Users", чтобы восстановить значение по-умолчанию (чтобы вновь создавать только для текущего пользователя), необходимо прописать
SetShellVarContext current
Alex_teater@
08-02-2010, 05:32
K.A.V., спасибо. Круто буду знать.
cleric1985_n
21-02-2010, 00:24
Подскажите как задать, чтобы по умолчанию с ключем /S ставился с ярлыком на рабочий стол?
сори...уже увидел пост...
Тихая установка Mail.ru Агент 5.6.3399 (http://www.winreview.ru/download.php?view.15)
Тихая установка Mail.ru Агент версии 5.6.3402 (http://www.winreview.ru/download.php?view.15)
Habetdin
30-07-2010, 03:02
!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
Я собрал сборку Mail.ru Агент 5.7 build 3639
Mail.ru Агент-5.7.3639.exe /S
-не будет изменена домашняя страница браузера на mail.ru,
-не изменится провайдера поиска,
-не будет установлена панель "Спутник",
-не потребуется вмешательства с вашей стороны в процесс установки.
Забираем (http://winreview.ru/download.php?view.15)
spider123
04-08-2010, 15:25
hb860, версия файла и в свойствах - 3402!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.