PDA

Показать полную графическую версию : Автоматическая установка winamp 2.76


Страниц : [1] 2

tarakan1983
10-10-2008, 07:56
Добрый день.
Я начинающий в этом деле и у меня возник такой вопрс : прм установке winamp 2.76, в конце открывается сам winamp и его браузер, так вот как мне закрыть только браузер и вообще где найти полный синтаксис команд типа какая команда что делает. Спасибо!

D_Master
10-10-2008, 09:12
tarakan1983,
@echo off
taskkill /F /IM iexplore.exe >null
exit
Если браузер по умолчанию не Internet Explorer, то поменяйте имя исполняемого файла на свой.

где найти полный синтаксис команд »
Пуск-Выполнить...-cmd-help

tarakan1983
10-10-2008, 09:18
@echo off
taskkill /F /IM iexplore.exe >null
exit
код не подходит потому что интернет эксплорер не открывается и вообще он тут не при чем, посмотрите мое приложение и поймете что мне надо закрыть

Baw17
10-10-2008, 09:26
tarakan1983, тогда вместо Iexplorer пиши winamp

D_Master
10-10-2008, 09:32
сорри, не понял, что браузер винампа...
наверное, надо в конфигах рыться, даже представления не имею, где они хранятся (может быть, winamp.ini?)

tarakan1983
10-10-2008, 09:36
Вот полностью скрипт
Run('C:\temp\winamp276_full.exe')
WinWaitActive("Winamp Setup: License Agreement")
Send("{ENTER}")
WinWaitActive("Winamp Setup: Installation Options")
Send("{ENTER}")
WinWaitActive("Winamp Setup: Installation Directory")
Send("{ENTER}")
WinWaitActive("Winamp Setup: Settings")
send("{tab}")
Send("{tab}")
;Send("{tab}")
Send("{down}")
Send("{down}")
Send("{ENTER}")
Send("{ENTER}")
WinWaitActive("WINAMP")
@echo off
taskkill /F /IM winamp.exe >null
exit
Во - первых
@echo off
taskkill /F /IM winamp.exe >null
exit
не работает и даже SciTE4AutoIt3 ругается на синтаксис
Во вторых даже если я сейчас (при установке) закрою winamp в последствии этот браузер будет открываться вместе с winampom а мне это не надо
Еще раз рекомендую посмотреть моё вложение

hb860
10-10-2008, 11:32
tarakan1983, завтра выложу тебе скрипт для перепаковки программы. Я тоже фанат старых версий :)

tarakan1983
10-10-2008, 11:38
жду с нетерпением

D_Master
10-10-2008, 13:37
@echo off
taskkill /F /IM winamp.exe >null
exit
не работает и даже SciTE4AutoIt3 ругается на синтаксис »
конечно, будет ругаться, ибо это не AutoIt, а CMD-синтаксис.

tarakan1983
10-10-2008, 14:43
тогда мой вопрос где найти полный синтаксис команд еще актуален?

hb860
10-10-2008, 15:21
Итак, скрипт инсталятора NSIS (http://nsis.sf.net) для установки винамп. Для изготовления собственной сборки нам потребуется:

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


Итак, порядок действий.

Качаем и устанавливаем NSIS
Сохряняем приведенный мной скрипт в файл Winamp2x.nsi
Создаем папку D:\Winamp и копируем в неё всё из c:\program files\winamp, кроме файлов uninstWA.exe и winamp.ini
В папку D:\Winamp\Skins кидаем свои любимые скины
Правой кнопкой мыщи щелкаем по 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://depositfiles.com/files/8636094)
Зеркало (http://w14.easy-share.com/1701926817.html)
Зеркало (http://letitbit.net/download/55c689730693/Winamp-2.81-RUS.exe.html)

hb860
10-10-2008, 15:49
Да, забыл сказать, в мой сборке нет строчки WriteINIStr "$INSTDIR\Winamp.ini" Winamp mb_open 0
и поэтому всё равно вылазит браузер. Я когда собирал винамп, про неё не знал :)


EDIT: Простите, тупанул! Браузер то вылазит при первом запуске программы :) Есс-но при запуске Winamp-2.81-RUS.exe /S ничё не вылазит. Но тем не менее, со строчкой WriteINIStr "$INSTDIR\Winamp.ini" Winamp mb_open 0 вы не увидите Mini Browser вобще :)

minutka15
10-10-2008, 18:56
Не лучше ли вам использовать скрипт AutoIt для закрытия (окошко даже не успевает открыться) интернет брaузера любого который у вас по умолчанию. Запускаете скомпилированный файл AutoIt в любое подходящее время.


$defaultbrowser = RegRead ('HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet','')
ProcessWait ( $defaultbrowser )
ProcessClose ( $defaultbrowser )
ProcessWaitClose ( $defaultbrowser )

hb860
10-10-2008, 19:54
minutka15, не в тему!
Здесь речь шла он Winamp Mini Browser, который ломится в инет при запуске в старых версиях программы. Вы, простите, винамп-то в глаза видели ?

tarakan1983
11-10-2008, 01:40
hb860 Ваш скрипт почемуто не компилируется, я в этом деле начинающий, поэтому не подскажете где я впорол косяк. см прил.
Или подскажите как мне в скрипте прописать нажатие сочития клавиш ctrl + tab.

hb860
11-10-2008, 15:40
как мне в скрипте »
Если речь идет о AutoIT, то так:Send("^{TAB}")
А по поводу некомпиляции скрипта, я исправил пост со скриптом, добавив подробную инструкцию. Читаем ещё раз :) (http://forum.oszone.net/post-920604-11.html)

tarakan1983
11-10-2008, 17:14
спасибо, сейчас буду издеваться. Так а всетаки где взять хелп или самоучитель для чайников на AutoIT, чтобы было рассказано как в cmd - help или подробнее даже

tarakan1983
11-10-2008, 17:45
я наверно совсем придурок безнадежный. Сделал все по инструкции. Не хочет компилироваться nsi.
взял ваш дистрибутив 2.81 установил в program files, и скопировал на d:\winamp, Пишет вот такую фигню.

MakeNSIS v2.40 - Copyright 1995-2008 Contributors
See the file COPYING for license details.
Credits can be found in the Users Manual.

Processing config:
Processing plugin dlls: "C:\Program Files\NSIS\Plugins\*.dll"
- AdvSplash::show
- Banner::destroy
- Banner::getWindow
- Banner::show
- BgImage::AddImage
- BgImage::AddText
- BgImage::Clear
- BgImage::Destroy
- BgImage::Redraw
- BgImage::SetBg
- BgImage::SetReturn
- BgImage::Sound
- Dialer::AttemptConnect
- Dialer::AutodialHangup
- Dialer::AutodialOnline
- Dialer::AutodialUnattended
- Dialer::GetConnectedState
- InstallOptions::dialog
- InstallOptions::initDialog
- InstallOptions::show
- LangDLL::LangDialog
- Math::Script
- NSISdl::download
- NSISdl::download_quiet
- Splash::show
- StartMenu::Init
- StartMenu::Select
- StartMenu::Show
- System::Alloc
- System::Call
- System::Copy
- System::Free
- System::Get
- System::Int64Op
- System::Store
- TypeLib::GetLibVersion
- TypeLib::Register
- TypeLib::UnRegister
- UserInfo::GetAccountType
- UserInfo::GetName
- UserInfo::GetOriginalAccountType
- VPatch::GetFileCRC32
- VPatch::GetFileMD5
- VPatch::vpatchfile
- nsDialogs::Create
- nsDialogs::CreateControl
- nsDialogs::CreateItem
- nsDialogs::GetUserData
- nsDialogs::OnBack
- nsDialogs::OnChange
- nsDialogs::OnClick
- nsDialogs::OnNotify
- nsDialogs::SelectFileDialog
- nsDialogs::SelectFolderDialog
- nsDialogs::SetRTL
- nsDialogs::SetUserData
- nsDialogs::Show
- nsExec::Exec
- nsExec::ExecToLog
- nsExec::ExecToStack

!define: "MUI_INSERT_NSISCONF"=""

Changing directory to: "D:\Winamp"

Processing script file: "D:\Winamp\Winamp2x.nsi"
!define: "PRODUCT_NAME"="Winamp"
!define: "PRODUCT_VERSION"="2.81 RUS"
!define: "PRODUCT_UNINST_KEY"="Software\Microsoft\Windows\CurrentVersion\Uninstall\Winamp"
Error: unterminated string parsing line at D:\Winamp\Winamp2x.nsi:4
Error in script "D:\Winamp\Winamp2x.nsi" on line 4 -- aborting creation process

hb860
11-10-2008, 18:32
БЛИИН. Я криво скопировал! Извиняюсь, извиняюсь, извиняюсь тыщу раз!!!!define PRODUCT_UNINST_ROOT_KEY "HKL »
Надо чтобы было !define PRODUCT_UNINST_ROOT_KEY "HKLM"
Всё поправил в своем посте.

спасибо, сейчас буду издеваться. Так а всетаки где взять хелп или самоучитель для чайников на AutoIT, чтобы было рассказано как в cmd - help или подробнее даже »
Ну так с ним же в комплекте есть хелпа. Более чем достаточно! И примерчики есть. А вот ещё стоит обязательно почитать, там и справка русская (http://www.oszone.net/display.php?id=3663)

tarakan1983
11-10-2008, 19:48
Все отлично работает, буду изучать инструкции дальше. Примного благодарен.




© OSzone.net 2001-2012