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

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

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

Ветеран


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


Сообщения: 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

Скоро еще выложу...

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

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


Последний раз редактировалось Комсомолец, 16-09-2008 в 10:37.


Отправлено: 09:07, 13-09-2008 | #62