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

Компьютерный форум 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

 

Аватара для hb860

Идиот


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

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


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

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

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

Отправлено: 20:06, 30-06-2009 | #11



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

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


Аватара для hb860

Идиот


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

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


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, ему и говорим за неё спасибо.

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


Последний раз редактировалось hb860, 12-09-2009 в 21:57.

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

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


Аватара для Bond01

Ветеран


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


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

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


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

Отправлено: 00:49, 10-09-2009 | #13


Аватара для Habetdin


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


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

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


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

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


Последний раз редактировалось Habetdin, 10-09-2009 в 22:37. Причина: Поправки

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

Отправлено: 01:12, 10-09-2009 | #14


Аватара для hb860

Идиот


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

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


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

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

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

Отправлено: 17:14, 10-09-2009 | #15


Аватара для Bond01

Ветеран


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


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

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


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

Последний раз редактировалось Bond01, 18-10-2009 в 13:26.


Отправлено: 17:27, 10-09-2009 | #16


Аватара для hb860

Идиот


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

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


Bond01, чтобы был ярлык по умолчанию, убрать /o тут
Код: Выделить весь код
Section /o "Ярлык на рабочем столе и в панели быстрого запуска"
будет так
Код: Выделить весь код
Section  "Ярлык на рабочем столе и в панели быстрого запуска"
В скрипте Habetdin ошибка, надо чтоб было
Код: Выделить весь код
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}.lnk" "$OUTDIR\magent.exe"
Сотри лишнюю кавычку тут ${PRODUCT_NAME}.lnk""

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

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

Отправлено: 22:24, 10-09-2009 | #17


Аватара для Bond01

Ветеран


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


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

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


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

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

Последний раз редактировалось Bond01, 11-09-2009 в 01:29.


Отправлено: 22:55, 10-09-2009 | #18


Аватара для hb860

Идиот


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

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


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

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


Отправлено: 20:19, 11-09-2009 | #19


Аватара для Bond01

Ветеран


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


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

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


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

Отправлено: 01:47, 12-09-2009 | #20



Компьютерный форум 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




 
Переход