Ветеран
Автор проектов
Сообщения: 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
Удачи всем!
|
-------
Для того, чтобы узнать, что такое рекурсия - необходимо узнать, что такое рекурсия. :)
Отправлено: 17:00, 17-12-2008
| #91
|