Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипт NSIS для перепаковки Mail.ru Agent

Ответить
Настройки темы
Скрипт NSIS для перепаковки Mail.ru Agent

Аватара для hb860

Идиот


Сообщения: 1125
Благодарности: 419

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: hb860
Дата: 26-06-2010
Описание: 5.6.3402
Представляю свой скрипт для установки программы 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
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:44, 07-10-2008

 

Аватара для Habetdin


Автор проектов


Сообщения: 3651
Благодарности: 1498

Профиль | Сайт | Отправить PM | Цитировать


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

-------
Рекомендую: $25 на тест виртуального сервера (VPS) за регистрацию по ссылке


Последний раз редактировалось Habetdin, 28-10-2009 в 16:05. Причина: Upd

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:40, 12-09-2009 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Bond01

Ветеран


Автор проектов


Сообщения: 1064
Благодарности: 181

Профиль | Отправить PM | Цитировать


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

Отправлено: 15:11, 12-09-2009 | #22


Аватара для hb860

Идиот


Сообщения: 1125
Благодарности: 419

Профиль | Сайт | Отправить PM | Цитировать


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

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8


Отправлено: 00:17, 14-12-2009 | #23


Аватара для hb860

Идиот


Сообщения: 1125
Благодарности: 419

Профиль | Сайт | Отправить PM | Цитировать


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

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:57, 17-12-2009 | #24


Аватара для Habetdin


Автор проектов


Сообщения: 3651
Благодарности: 1498

Профиль | Сайт | Отправить PM | Цитировать


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:
Я реально начинаю бояться за конфиденциальность. Зло »
Надо было отключать сеть

-------
Рекомендую: $25 на тест виртуального сервера (VPS) за регистрацию по ссылке


Последний раз редактировалось Habetdin, 18-12-2009 в 12:59. Причина: Оффтопик..


Отправлено: 15:27, 17-12-2009 | #25


Аватара для hb860

Идиот


Сообщения: 1125
Благодарности: 419

Профиль | Сайт | Отправить PM | Цитировать


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
-Возможно, вы знакомы

Всё в шапке.

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

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8


Отправлено: 21:12, 17-12-2009 | #26


Аватара для hb860

Идиот


Сообщения: 1125
Благодарности: 419

Профиль | Сайт | Отправить PM | Цитировать


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

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8


Отправлено: 23:59, 18-01-2010 | #27


Аватара для Habetdin


Автор проектов


Сообщения: 3651
Благодарности: 1498

Профиль | Сайт | Отправить PM | Цитировать


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"
...

-------
Рекомендую: $25 на тест виртуального сервера (VPS) за регистрацию по ссылке


Последний раз редактировалось Habetdin, 22-01-2010 в 22:55.

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:42, 22-01-2010 | #28


Аватара для hb860

Идиот


Сообщения: 1125
Благодарности: 419

Профиль | Сайт | Отправить PM | Цитировать


После долгого перетирания с господином Хабетдином (лол, складно) вышенаписанного сабжа, мы пришли к выводу, что код скрипта надо сделать таким:
Код: Выделить весь код
  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"
Обновляю скрипт в шапке

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:07, 23-01-2010 | #29


Пользователь


Сообщения: 146
Благодарности: 8

Профиль | Отправить PM | Цитировать


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

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

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

Код: Выделить весь код
Section  /o  "Ярлык на рабочем столе"
    SectionIn 1
	CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\magent.exe"
SectionEnd
Все наконец то вовсем разобрался.
Спасибо за скрипт.
P.S с иконкой в понель быстрого запуска разобрался.

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

Последний раз редактировалось Alex_teater@, 07-02-2010 в 13:26.


Отправлено: 09:59, 07-02-2010 | #30



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипт NSIS для перепаковки Mail.ru Agent

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Автоматическая установка The KMPlayer + NSIS скрипт wolkow70 Автоматическая установка приложений 140 10-07-2021 15:48
NSIS скрипт для перепаковки GOM player+сборка hb860 Автоматическая установка приложений 5 19-06-2014 00:03
Скрипт NSIS для перепаковки AIMP2+Сборки hb860 Автоматическая установка приложений 184 13-01-2014 13:04
Установка тем для Notepad++ с применением(NSIS скрипт+тема-сборка прилагается) hb860 Автоматическая установка приложений 3 16-10-2011 16:40
NSIS-скрипт для установки UsefulUtils Disc Studio(UUDS)+сборка hb860 Автоматическая установка приложений 0 26-11-2009 23:15




 
Переход