Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   Автоматическая установка winamp 2.76 (http://forum.oszone.net/showthread.php?t=119643)

tarakan1983 10-10-2008 07:56 920262

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

D_Master 10-10-2008 09:12 920300

tarakan1983,
Код:

@echo off
taskkill /F /IM iexplore.exe >null
exit

Если браузер по умолчанию не Internet Explorer, то поменяйте имя исполняемого файла на свой.

Цитата:

Цитата tarakan1983
где найти полный синтаксис команд »

Пуск-Выполнить...-cmd-help

tarakan1983 10-10-2008 09:18 920304

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

Baw17 10-10-2008 09:26 920310

tarakan1983, тогда вместо Iexplorer пиши winamp

D_Master 10-10-2008 09:32 920316

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

tarakan1983 10-10-2008 09:36 920320

Вот полностью скрипт
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 920427

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

tarakan1983 10-10-2008 11:38 920433

жду с нетерпением

D_Master 10-10-2008 13:37 920526

Цитата:

Цитата tarakan1983
@echo off
taskkill /F /IM winamp.exe >null
exit
не работает и даже SciTE4AutoIt3 ругается на синтаксис »

конечно, будет ругаться, ибо это не AutoIt, а CMD-синтаксис.

tarakan1983 10-10-2008 14:43 920580

тогда мой вопрос где найти полный синтаксис команд еще актуален?

hb860 10-10-2008 15:21 920604

Итак, скрипт инсталятора 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

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

hb860 10-10-2008 15:49 920633

Да, забыл сказать, в мой сборке нет строчки
Код:

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 920766

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

Код:

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


hb860 10-10-2008 19:54 920787

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

tarakan1983 11-10-2008 01:40 920994

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

hb860 11-10-2008 15:40 921244

Цитата:

Цитата tarakan1983
как мне в скрипте »

Если речь идет о AutoIT, то так:
Код:

Send("^{TAB}")
А по поводу некомпиляции скрипта, я исправил пост со скриптом, добавив подробную инструкцию. Читаем ещё раз :)

tarakan1983 11-10-2008 17:14 921278

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

tarakan1983 11-10-2008 17:45 921289

я наверно совсем придурок безнадежный. Сделал все по инструкции. Не хочет компилироваться 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 921310

БЛИИН. Я криво скопировал! Извиняюсь, извиняюсь, извиняюсь тыщу раз!!!
Цитата:

Цитата hb860
!define PRODUCT_UNINST_ROOT_KEY "HKL »

Надо чтобы было
Код:

!define PRODUCT_UNINST_ROOT_KEY "HKLM"
Всё поправил в своем посте.

Цитата:

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

Ну так с ним же в комплекте есть хелпа. Более чем достаточно! И примерчики есть. А вот ещё стоит обязательно почитать, там и справка русская

tarakan1983 11-10-2008 19:48 921344

Все отлично работает, буду изучать инструкции дальше. Примного благодарен.

hb860 12-10-2008 14:26 921770

Рад был помочь.


Время: 10:16.

Время: 10:16.
© OSzone.net 2001-