Ветеран
Автор проектов
Сообщения: 1558
Благодарности: 228
|
Профиль
|
Сайт
|
Отправить PM
| Цитировать
Скрипты с комментариями. Всё проверено. Раз для автоустановки форум-то без вопросов всё ставится с ключом /S.
FlyLinkDC++
Код: 
;константы (название программы, версия, ключ для деинсталляции, брендинг)
!define PRODUCT_NAME "FlyLinkDC++"
!define PRODUCT_VERSION "3.52"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define BRANDING "Created by Комсомолец 2008"
;вставляем графический фейс инсталлятора и функции
; MUI 1.67 compatible ------
!include "MUI.nsh"
!include "FileFunc.nsh"
;компрессия (это непрерывный архив, оптимальное сжатие)
SetCompressor /SOLID lzma
;стандартные страницы приветствия, выбора директории, иконки и т.д.
; MUI Settings
!define MUI_ABORTWARNING
;путь к иконкам инсталлятора и к иконке для унинсталла (тут мои)
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\flylihk.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall-blue-full.ico"
;а тут стандартные иконки из пакета NSIS
;!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorfull.ico"
;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall-blue-full.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\FlyLinkDC"
;показывать все детали во время установки
ShowInstDetails show
;показывать все детали во время удаления
ShowUnInstDetails show
;варианты установки
InstType "Полная"
InstType "Сокращенная"
;основная секция
Section "!${PRODUCT_NAME}" idx0
;галка стоит в обоих вариантах установки и указываем, что устанавливаем в указанную директорию
SectionIn 1 2 RO
SetOutPath "$INSTDIR"
;путь откуда копируем все файлы и папки
File /r "C:\FlyLinkDC\*.*"
;создаем файл unins000.exe и записи в реестре для удаления
WriteUninstaller "$OUTDIR\unins000.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$OUTDIR\FlylinkDC.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\unins000.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
SectionEnd
;тут думаю понятно
Section "Ярлыки в меню Пуск" idx1
SectionIn 1 2
SetShellVarContext all
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\FlylinkDC.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\ReadMe.lnk" "$INSTDIR\Readme.rtf"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Комтек.lnk" "$INSTDIR\Home.url"
CreateShortCut "$QUICKLAUNCH\${PRODUCT_NAME}.lnk" "$INSTDIR\FlylinkDC.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Удалить ${PRODUCT_NAME}.lnk" "$INSTDIR\unins000.exe"
SectionEnd
;тут есть заморочка- IfSilent +3 -не устанавливать при тихой установке
Section "Ярлыки в панели быстрого запуска" idx2
SectionIn 1
IfSilent +3
SetShellVarContext all
CreateShortCut "$QUICKLAUNCH\${PRODUCT_NAME}.lnk" "$INSTDIR\FlylinkDC.exe"
SectionEnd
Section "Добавить ярлык в автозапуск" idx3
SectionIn 1 2
IfSilent +3
SetShellVarContext all
CreateShortCut "$SMSTARTUP\${PRODUCT_NAME}.lnk" "$INSTDIR\FlylinkDC.exe"
SectionEnd
Section "Ярлыки на рабочем столе" idx4
SectionIn 1
IfSilent +3
SetShellVarContext all
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\FlylinkDC.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Комтек.lnk" "$INSTDIR\Home.url"
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\"
SetShellVarContext all
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
Delete "$DESKTOP\${PRODUCT_NAME}.LNK"
Delete "$QUICKLAUNCH\${PRODUCT_NAME}.LNK"
Delete "$SMSTARTUP\${PRODUCT_NAME}.LNK"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
SetAutoClose true
SectionEnd
Total Commander
Код: 
!define PRODUCT_NAME "Total Commander"
!define PRODUCT_VERSION "7.03"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define BRANDING "Created by Комсомолец 2008"
; MUI 1.67 compatible ------
!include "MUI.nsh"
!include "FileFunc.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\tcmd.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall-blue-full.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\Total Commander"
ShowInstDetails show
ShowUnInstDetails show
InstType "Полная"
InstType "Сокращенная"
Section "!${PRODUCT_NAME}" idx0
SectionIn 1 2 RO
SetOutPath "$INSTDIR"
File /r "C:\Total\*.*"
WriteUninstaller "$OUTDIR\Uninstall.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$OUTDIR\totalcmd.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\Uninstall.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
SectionEnd
Section "Ярлыки в меню Пуск" idx1
SectionIn 1 2
SetShellVarContext all
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\totalcmd.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Удалить ${PRODUCT_NAME}.lnk" "$INSTDIR\Uninstall.exe"
SectionEnd
Section "Ярлыки в панели быстрого запуска" idx2
SectionIn 1 2
SetShellVarContext all
CreateShortCut "$QUICKLAUNCH\${PRODUCT_NAME}.lnk" "$INSTDIR\totalcmd.exe"
SectionEnd
Section "Ярлык на рабочем столе" idx3
SectionIn 1
IfSilent +3
SetShellVarContext all
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\totalcmd.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\"
SetShellVarContext all
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
Delete "$DESKTOP\${PRODUCT_NAME}.LNK"
Delete "$QUICKLAUNCH\${PRODUCT_NAME}.LNK"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
SetAutoClose true
SectionEnd
QIP 2005
Код: 
!define PRODUCT_NAME "QIP 2005"
!define PRODUCT_VERSION "v.8070"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define BRANDING "Created by Комсомолец 2008"
; MUI 1.67 compatible ------
!include "MUI.nsh"
!include "FileFunc.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\qip.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\unqip.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"
ShowInstDetails show
ShowUnInstDetails show
InstType "Полная"
InstType "Сокращенная"
Section "!${PRODUCT_NAME}" idx0
SectionIn 1 2 RO
SetOutPath "$INSTDIR"
File /r "C:\QIP\*.*"
WriteUninstaller "$OUTDIR\UnQIP.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$OUTDIR\QIP.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\UnQIP.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
SectionEnd
Section "Ярлыки в меню Пуск" idx1
SectionIn 1 2
SetShellVarContext all
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\QIP.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\QIP.exe"
SectionEnd
Section "Ярлык на рабочем столе" idx3
SectionIn 1
IfSilent +3
SetShellVarContext all
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\QIP.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\LI\"
RMDir /r "$INSTDIR\Plugins\"
RMDir /r "$INSTDIR\Skins\"
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 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
SetAutoClose true
SectionEnd
Aimp2 v.2.50 (автор скрипта-hb860)
Код: 
!define PRODUCT_NAME "AIMP2"
!define PRODUCT_VERSION "2.50.293"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define BRANDING "Created by Комсомолец 2008"
; MUI 1.67 compatible ------
!include "MUI.nsh"
!include "FileFunc.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\aimp.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall-blue-full.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"
!insertmacro GetOptions
BrandingText "${BRANDING}"
Name "${PRODUCT_NAME}"
Caption "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME}_${PRODUCT_VERSION}_PowerPack.exe"
InstallDir "$PROGRAMFILES\AIMP2"
ShowInstDetails show
ShowUnInstDetails show
InstType "Полная"
InstType "Сокращенная"
Var SkinFile
Var IconFile
Var Flag
Section "!${PRODUCT_NAME}" idx0
SectionIn 1 2 3 RO
SetOutPath "$INSTDIR\"
File /r "C:\AIMP25\*.*"
IfFileExists "$OUTDIR\Data\AIMP.INI" skip_cfg
StrCpy $Flag "1"
CreateDirectory "$OUTDIR\Data\AllUsers"
WriteINIStr "$OUTDIR\Data\AIMP.INI" System UserMode 0
WriteINIStr "$OUTDIR\Data\AllUsers\AIMP2.INI" System LangFile russian.lng ;язык по умолчанию для плеера
WriteINIStr "$OUTDIR\Data\AllUsers\AIMP2r.INI" System LangFile russian.lng ;язык по умолчанию для рекордера
WriteINIStr "$OUTDIR\Data\AllUsers\AIMP2c.INI" System LangFile russian.lng ;язык по умолчанию для конвертера
WriteINIStr "$OUTDIR\Data\AllUsers\AIMP2t.INI" System LangFile russian.lng ;язык по умолчанию для таггера
${GetOptions} $CMDLINE "/SKIN=" $SkinFile
StrCmp $SkinFile "" +2
WriteINIStr "$OUTDIR\Data\AllUsers\AIMP2.INI" Skins DefaultSkin $SkinFile ;скин
skip_cfg:
WriteUninstaller "$OUTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$OUTDIR\aimp2.exe"
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 "Скины" idx1
SectionIn 1 2 3
SetOutPath "$INSTDIR\Skins"
File "C:\AIMP25\Skins\*.*"
SectionEnd
Section "Иконки типов файлов" idx2
SectionIn 1 2 3
SetOutPath "$INSTDIR\Icons"
File "C:\AIMP25\icons\*.*"
StrCmp $Flag "1" +2
IfFileExists "$INSTDIR\Data\AIMP.INI" skip_cfg
${GetOptions} $CMDLINE "/ICONS=" $IconFile
StrCmp $IconFile "" skip_cfg
IfFileExists "$INSTDIR\Icons\$IconFile" 0 skip_cfg
Rename "$INSTDIR\Icons\aimp2.dll" "$INSTDIR\Icons\aimp2_original.dll"
Rename "$INSTDIR\Icons\$IconFile" "$INSTDIR\Icons\aimp2.dll"
skip_cfg:
SectionEnd
Section "Ярлыки в меню Пуск" idx3
SectionIn 1 2 3
SetShellVarContext all
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\aimp2.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Advanced Tag Editor.lnk" "$INSTDIR\AIMP2t.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Audio Converter.lnk" "$INSTDIR\AIMP2c.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Audio Recorder.lnk" "$INSTDIR\AIMP2r.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Удалить ${PRODUCT_NAME}.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section "Ярлык на рабочем столе" idx4
SectionIn 1
; IfSilent +3
SetShellVarContext all
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\aimp2.exe"
SectionEnd
Section "Ярлык на панели быстрого запуска" idx5
SectionIn 1
SetShellVarContext all
CreateShortCut "$QUICKLAUNCH\${PRODUCT_NAME}.lnk" "$INSTDIR\aimp2.exe"
SectionEnd
Section "Ассоциации файлов" idx6
SectionIn 1 2 3
ExecWait '$INSTDIR\aimp2.exe /REG=R'
RegDLL "$INSTDIR\System\aimp_shell.dll"
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
UnRegDLL "$INSTDIR\System\aimp_shell.dll"
ExecWait '$INSTDIR\aimp2.exe /REG=U'
RMDir /r "$INSTDIR\"
SetShellVarContext all
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
Delete "$DESKTOP\${PRODUCT_NAME}.LNK"
Delete "$QUICKLAUNCH\${PRODUCT_NAME}.LNK"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
SetAutoClose true
SectionEnd
Winamp 5.xx
Код: 
!define PRODUCT_NAME "Winamp"
!define PRODUCT_VERSION "5.32"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define BRANDING "Created by Комсомолец 2008"
; MUI 1.67 compatible ------
!include "MUI.nsh"
!include "FileFunc.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-blue-full.ico"
!define MUI_COMPONENTSPAGE_NODESC
!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_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}_rus.exe"
InstallDir "$PROGRAMFILES\Winamp"
ShowInstDetails show
ShowUnInstDetails show
BrandingText "${BRANDING}"
InstType "Полная"
InstType "Сокращенная"
Section "!${PRODUCT_NAME}" idx0
;галка стоит в обоих вариантах установки и указываем, что устанавливаем в указанную директорию
SectionIn 1 2 RO
SetOutPath "$INSTDIR"
File /r "C:\Winamp\*.*"
SetShellVarContext all
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKLM "SOFTWARE\Nullsoft\Winamp" "regname" "Ваше имя"
WriteRegStr HKLM "SOFTWARE\Nullsoft\Winamp" "regkey" "Ваш регистрационный номер"
WriteRegStr HKCR "Directory\shell\Winamp.Enqueue" "" "Добавить в Winamp"
WriteRegStr HKCR "Directory\shell\Winamp.Play" "" "Открыть в Winamp"
WriteRegStr HKCR "Winamp.File\shell\Enqueue" "" "Добавить в Winamp"
WriteRegStr HKCR "Winamp.File\shell\Play" "" "Открыть в Winamp"
WriteRegStr HKCR "Winamp.Playlist\shell\Enqueue" "" "Добавить в Winamp"
WriteRegStr HKCR "Winamp.Playlist\shell\Play" "" "Открыть в Winamp"
WriteRegStr HKLM "SOFTWARE\Classes\Directory\shell\Winamp.Enqueue" "" "Добавить в Winamp"
WriteRegStr HKLM "SOFTWARE\Classes\Directory\shell\Winamp.Play" "" "Открыть в Winamp"
WriteRegStr HKLM "SOFTWARE\Classes\Winamp.File\shell\Enqueue" "" "Добавить в Winamp"
WriteRegStr HKLM "SOFTWARE\Classes\Winamp.File\shell\Play" "" "Открыть в Winamp"
WriteRegStr HKLM "SOFTWARE\Classes\Winamp.Playlist\shell\Enqueue" "" "Добавить в Winamp"
WriteRegStr HKLM "SOFTWARE\Classes\Winamp.Playlist\shell\Play" "" "Открыть в Winamp"
ExecWait '$INSTDIR\winamp.exe /REG=LCAD'
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$INSTDIR\winamp.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "${PRODUCT_VERSION}"
SectionEnd
Section "Ярлыки в меню Пуск" idx1
SectionIn 1 2
SetShellVarContext all
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\winamp.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Удалить ${PRODUCT_NAME}.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section "Ярлык в панели быстрого запуска" idx2
SectionIn 1 2
SetShellVarContext all
CreateShortCut "$QUICKLAUNCH\${PRODUCT_NAME}.lnk" "$INSTDIR\winamp.exe"
SectionEnd
Section "Ярлык на рабочем столе" idx3
SectionIn 1
IfSilent +3
SetShellVarContext all
CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\winamp.exe"
SectionEnd
Section Uninstall
ExecWait '$INSTDIR\winamp.exe /UNREG'
RMDir /r "$INSTDIR"
SetShellVarContext all
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
DeleteRegKey HKLM "SOFTWARE\Nullsoft\Winamp"
DeleteRegKey HKCR "Directory\shell\Winamp.Enqueue"
DeleteRegKey HKCR "Directory\shell\Winamp.Play"
DeleteRegKey HKCR "Winamp.File\shell\Enqueue"
DeleteRegKey HKCR "Winamp.File\shell\Play"
DeleteRegKey HKCR "Winamp.Playlist\shell\Enqueue"
DeleteRegKey HKCR "Winamp.Playlist\shell\Play"
DeleteRegKey HKLM "SOFTWARE\Classes\Directory\shell\Winamp.Enqueue"
DeleteRegKey HKLM "SOFTWARE\Classes\Directory\shell\Winamp.Play"
DeleteRegKey HKLM "SOFTWARE\Classes\Winamp.File\shell\Enqueue"
DeleteRegKey HKLM "SOFTWARE\Classes\Winamp.File\shell\Play"
DeleteRegKey HKLM "SOFTWARE\Classes\Winamp.Playlist\shell\Enqueue"
DeleteRegKey HKLM "SOFTWARE\Classes\Winamp.Playlist\shell\Play"
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
Delete "$QUICKLAUNCH\${PRODUCT_NAME}.lnk"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
SetAutoClose true
SectionEnd
Скоро еще выложу...
|
-------
Для того, чтобы узнать, что такое рекурсия - необходимо узнать, что такое рекурсия. :)
Последний раз редактировалось Комсомолец, 16-09-2008 в 10:37.
Отправлено: 09:07, 13-09-2008
| #62
|