Имя пользователя:
Пароль:
 

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

Аватара для hb860

Идиот


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

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


Итак, скрипт инсталятора NSIS для установки винамп. Для изготовления собственной сборки нам потребуется:
  1. Собственно, сам NSIS
  2. Winamp 2х в распакованном виде. Его можно взять с устанновленной системы из папки c:\program files\winamp

Итак, порядок действий.
  1. Качаем и устанавливаем NSIS
  2. Сохряняем приведенный мной скрипт в файл Winamp2x.nsi
  3. Создаем папку D:\Winamp и копируем в неё всё из c:\program files\winamp, кроме файлов uninstWA.exe и winamp.ini
  4. В папку D:\Winamp\Skins кидаем свои любимые скины
  5. Правой кнопкой мыщи щелкаем по Winamp2x.nsi, выбираем Compile NSIS скрипт, после компиляции получим файл Winamp-2.81 rus.exe, который тихо ставится так:Winamp-2.81 rus.exe /S

Примечание: Если диска D: в системе нет, создаем папку с:\Winamp и в скрипте меняем везде D:\Winamp на с:\Winamp. И ещё, если копилируется версия 2.76, надо поменять !define PRODUCT_VERSION "2.81 RUS" на, например, !define PRODUCT_VERSION "2.76". Всё остальное в силе.

Итак,Скрипт:
Код: Выделить весь код
!define PRODUCT_NAME "Winamp"
!define PRODUCT_VERSION "2.81 RUS"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"

; MUI 1.67 compatible ------
!include "MUI.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define BRANDING "By Happy Bulldozer860"

!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}.exe"
InstallDir "$PROGRAMFILES\Winamp"
ShowInstDetails show
ShowUnInstDetails show
BrandingText "${BRANDING}"

!macro RegisterExtension extenstion 
  WriteRegStr HKCR ".${extenstion}" "" "Winamp.File"
    
  WriteRegStr HKCR "Winamp.File" "" "Winamp Media File"
  WriteRegStr HKCR "Winamp.File\DefaultIcon" "" "$INSTDIR\winamp.exe,1"
  WriteRegStr HKLM "Winamp.File\shell" "" "Play"
  WriteRegStr HKLM "Winamp.File\shell\Play" "" "&Play in Winamp"
  WriteRegStr HKCR "Winamp.File\shell\Play\command" "" "$\"$INSTDIR\winamp.exe$\" $\"%1$\""
  WriteRegStr HKCR "Winamp.File\shell\open\command" "" "$\"$INSTDIR\winamp.exe$\" $\"%1$\""  
  WriteRegStr HKLM "Winamp.File\shell\ListBookmark" "" "Add to Winamp's &Bookmark list"
  WriteRegStr HKLM "Winamp.File\shell\ListBookmark\command" "" "$\"$INSTDIR\winamp.exe$\"/BOOKMARK $\"%1$\""
  WriteRegStr HKLM "Winamp.File\shell\Enqueue" "" "&Enqueue in Winamp"
  WriteRegStr HKLM "Winamp.File\shell\Enqueue\command" "" "$\"$INSTDIR\winamp.exe$\"/ADD $\"%1$\""
!macroend


InstType "Полная"
InstType "Сокращенная"
InstType "Минимальная"

Section "Программа" SEC01
  SectionIn 1 2 3 RO
  SetOutPath "$INSTDIR"
  File /r /x *.wsz "D:\Winamp\*.*" 
  ExecWait "$\"$INSTDIR\wmaudioredist.exe$\" /Q"
  
  WriteINIStr "$WINDIR\Winamp.ini" WinampReg NeedReg 0
  WriteINIStr "$WINDIR\Winamp.ini" WinampReg Stats "00000003,0000002D,0000002D,00000006,00000003,00000006,00000003,"
  WriteINIStr "$INSTDIR\Winamp.ini" Winamp splash 0
  WriteINIStr "$INSTDIR\Winamp.ini" Winamp newverchk 0
  WriteINIStr "$INSTDIR\Winamp.ini" Winamp newverchk2 0
  WriteINIStr "$INSTDIR\Winamp.ini" Winamp inet_mode 0
  WriteINIStr "$INSTDIR\Winamp.ini" WinampAgent is_intray 0
  WriteINIStr "$INSTDIR\Winamp.ini" WinampAgent check_fta 0
  WriteINIStr "$INSTDIR\Winamp.ini" Winamp mb_open 0
  
		!insertmacro RegisterExtension CDA
		!insertmacro RegisterExtension MID
		!insertmacro RegisterExtension MIDI
		!insertmacro RegisterExtension RMI
		!insertmacro RegisterExtension KAR
		!insertmacro RegisterExtension MIZ
		!insertmacro RegisterExtension mod
		!insertmacro RegisterExtension mdz
		!insertmacro RegisterExtension stm
		!insertmacro RegisterExtension stz
		!insertmacro RegisterExtension s3m
		!insertmacro RegisterExtension s3z
		!insertmacro RegisterExtension it
		!insertmacro RegisterExtension itz
		!insertmacro RegisterExtension xm
		!insertmacro RegisterExtension xmz
		!insertmacro RegisterExtension mtm
		!insertmacro RegisterExtension ult
		!insertmacro RegisterExtension 669
		!insertmacro RegisterExtension MP3
		!insertmacro RegisterExtension MP2
		!insertmacro RegisterExtension MP1
		!insertmacro RegisterExtension OGG
		!insertmacro RegisterExtension WAV
		!insertmacro RegisterExtension VOC
		!insertmacro RegisterExtension AU
		!insertmacro RegisterExtension SND
		!insertmacro RegisterExtension AIF
		!insertmacro RegisterExtension AIFF
		!insertmacro RegisterExtension wma
		!insertmacro RegisterExtension m3u
		!insertmacro RegisterExtension pls
  
  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}"
  
  WriteUninstaller "$INSTDIR\uninst.exe"  
SectionEnd
Section "Скины"
    SectionIn 1
	SetOutPath "$INSTDIR\Skins"
	File /r "D:\Winamp\Skins\*.*" 
SectionEnd
SectionGroup /e "Ярлыки"
	Section "В меню $\"Пуск$\""
		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 /o "На рабочем столе"
		SectionIn 1
	    SetShellVarContext all
		CreateShortCut "$Desktop\${PRODUCT_NAME}.lnk" "$INSTDIR\winamp.exe"
	SectionEnd	
SectionGroupEnd

  
Section Uninstall
  RMDir /r "$INSTDIR"
  Delete "$WINDIR\Winamp.ini"
  SetShellVarContext all
  RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
  Delete "$Desktop\${PRODUCT_NAME}.lnk" 	
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  SetAutoClose true
SectionEnd
Я думаю тема решена. Для твоего винампа 2.76 скрипт применим. Кстати у него с контектным меню косяки, я пользую 2.80/2.81, там исрпавлен косяк. Кстати он всплывает только в ХР у меня
Если интересно, моя сборка 2.81(собственно для которой скрипт написан), пллер русифицирован и в комплекте скины:
читать дальше »

Winamp5_Classified_v5.5.wsz
Winamp3_Classified_v5.5.wsz
Bento_Classified.wsz
Codenamed_Chicago.wsz
XPAMP_revisited.wsz
Windows_Media_11.wsz
Windows_XP_Royal.wsz
Nullsoft_Winamp_Corona_v1_01.wsz
Winamp_Media_Player_10.wsz
RIPOSTE.WSZ
Ripple_2_9.wsz
XP BlueEdition.wsz
XP SilverEdition.wsz
AmpMedia8.wsz
The_Silence.wsz
Winamp3_Alpha_6e.wsz
TOOLSKIN.WSZ

Скачать
Зеркало
Зеркало

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


Последний раз редактировалось hb860, 11-10-2008 в 18:33. Причина: Криво скрипт скопировал

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

Отправлено: 15:21, 10-10-2008 | #11