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

Показать сообщение отдельно

Аватара для Комсомолец

Ветеран


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


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

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


скрипт QIP Infium. .

читать дальше »
Код: Выделить весь код
!define PRODUCT_NAME "QIP Infium"
!define PRODUCT_VERSION "v.9020"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define BRANDING "Разработка hb860 и моя немножко, 2008"

; MUI 1.67 compatible ------
!include "MUI.nsh"
!include "FileFunc.nsh"

SetCompressor /SOLID lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "E:\Nsis\Icons\qipinfium.ico"
!define MUI_UNICON "E:\Nsis\Icons\unqipinfium.ico"
!define MUI_COMPONENTSPAGE_NODESC 
; Welcome page
!insertmacro MUI_PAGE_WELCOME
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS 
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES
; Language files
!insertmacro MUI_LANGUAGE "Russian"

BrandingText "${BRANDING}"
Name "${PRODUCT_NAME}"
Caption "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME}_${PRODUCT_VERSION}_PowerPack.exe"
InstallDir "$PROGRAMFILES\QIP Infium"
ShowInstDetails show
ShowUnInstDetails show
InstType "Полная"
InstType "Сокращенная"

Section "!${PRODUCT_NAME}" idx0
  SectionIn 1 2 RO
  SetOutPath "$INSTDIR"
  File /r "C:\QIP Infium\*.*"

	WriteUninstaller "$OUTDIR\UnQIP.exe"
	WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
	WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$OUTDIR\infium.exe"
	WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\UnQIP.exe"
	WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
               SetShellVarContext current
               WriteRegStr HKCU "Software\Infium\Main" "CurLangFile" "Russian"

SectionEnd

Section "Ярлыки в меню Пуск" idx1
	SectionIn 1 2 
	SetShellVarContext all
	CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
	CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\infium.exe"
	CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Удалить ${PRODUCT_NAME}.lnk" "$INSTDIR\UnQIP.exe"
SectionEnd

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

Section "Ярлык на рабочем столе" idx3
	SectionIn 1 
                IfSilent +3
	SetShellVarContext all
	CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\infium.exe"
SectionEnd


Function un.onUninstSuccess
  HideWindow
  MessageBox MB_ICONINFORMATION|MB_OK "Удаление программы $(^Name) было успешно завершено."
FunctionEnd

Function un.onInit
  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Вы уверены в том, что желаете удалить $(^Name) и все компоненты программы?" IDYES +2
  Abort
FunctionEnd

Section Uninstall
  RMDir /r "$INSTDIR\"
  RMDir /r "$INSTDIR\Langs\"
  RMDir /r "$INSTDIR\Plugins\"
  RMDir /r "$INSTDIR\Profiles\"
  RMDir /r "$INSTDIR\Protos\"
  RMDir /r "$INSTDIR\Skins\"
  RMDir /r "$INSTDIR\Smilies\"
  RMDir /r "$INSTDIR\Sounds\"
  RMDir /r "$INSTDIR\Users\"
  SetShellVarContext all
  RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
  Delete "$DESKTOP\${PRODUCT_NAME}.LNK"
  Delete "$QUICKLAUNCH\${PRODUCT_NAME}.LNK"
  DeleteRegKey HKCU "SOFTWARE\Infium"
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  SetAutoClose true
SectionEnd


Удачи всем!

-------
Для того, чтобы узнать, что такое рекурсия - необходимо узнать, что такое рекурсия. :)

http://forum.oszone.net/image.php?type=sigpic&userid=69953&dateline=1440353086

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

Отправлено: 17:00, 17-12-2008 | #91