PDA

Показать полную графическую версию : [архив].: NSIS - все вопросы :.


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [64] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170

Tankan
17-06-2011, 09:59
Добрый день.
У меня возникло пара вопросов, ответьте пожалуйста:
1) Как предотвратить повторный запуск инсталлятора? (без плагинов и прочего)
2) Как сделать, чтоб файлы после инсталляции, были с атрибутами скрытый и системный?
ps в другом инсталляторе ставил атрибуты, а потом собирал инсталлятор и атрибуты сохранялись. а в этом так не получается.
3) Как можно добиться максимального сжатия? может есть какой то плагин позволяющий очень сильно сжимать?
Или можно как то сжимать файлы несколько раз?
ps winrar сильнее сжимает.
pss в nsis'e ставлю максимальное... но всё равно не сильно жмет

Спасибо!

wolkow70
17-06-2011, 10:08
Копаюсь с функцией InstallFolderInternal из любимого VLC.
И вот, что интересно:

Var UninstallLog
!macro OpenUninstallLog
FileOpen $UninstallLog "$INSTDIR\uninstall.log" a
FileSeek $UninstallLog 0 END
!macroend

!macro CloseUninstallLog
FileClose $UninstallLog
SetFileAttributes "$INSTDIR\uninstall.log" HIDDEN
!macroend

!macro InstallFile FILEREGEX
File "${FILEREGEX}"
!define Index 'Line${__LINE__}'
FindFirst $0 $1 "$INSTDIR\${FILEREGEX}"
StrCmp $0 "" "${Index}-End"
"${Index}-Loop:"
StrCmp $1 "" "${Index}-End"
FileWrite $UninstallLog "$1$\r$\n"
FindNext $0 $1
Goto "${Index}-Loop"
"${Index}-End:"
!undef Index
!macroend
;
!macro InstallFolder FOLDER
File /r "${FOLDER}"
Push "${FOLDER}"
Call InstallFolderInternal
!macroend
;
Function InstallFolderInternal
Pop $9
!define Index 'Line${__LINE__}'
FindFirst $0 $1 "$INSTDIR\$9\*"
StrCmp $0 "" "${Index}-End"
"${Index}-Loop:"
StrCmp $1 "" "${Index}-End"
StrCmp $1 "." "${Index}-Next"
StrCmp $1 ".." "${Index}-Next"
IfFileExists "$9\$1\*" 0 "${Index}-Write"
Push $0
Push $9
Push "$9\$1"
Call InstallFolderInternal
Pop $9
Pop $0
Goto "${Index}-Next"
"${Index}-Write:"
FileWrite $UninstallLog "$9\$1$\r$\n"
"${Index}-Next:"
FindNext $0 $1
Goto "${Index}-Loop"
"${Index}-End:"
!undef Index
FunctionEnd
;
Section "!${PRODUCT_NAME}" Install
SectionIn 1 2 3 RO
SetShellVarContext all
SetOutPath "$INSTDIR"

!insertmacro OpenUninstallLog

ЕСЛИ файл скрипта лежит в одной директории с файлами установки и при этом прописать так:

!insertmacro InstallFile vlc.exe
!insertmacro InstallFile vlc.exe.manifest
!insertmacro InstallFile libvlc.dll
!insertmacro InstallFile libvlc.dll.manifest

То при установке устанавливаемые файлы в логе UninstallLog прописываются .

А, если файл скрипта поместить в другую папку и прописать пути к файлам:

!insertmacro InstallFile "${FILEPATH}\vlc\vlc.exe"
!insertmacro InstallFile "${FILEPATH}\vlc\vlc.exe.manifest"
!insertmacro InstallFile "${FILEPATH}\vlc\libvlc.dll"
!insertmacro InstallFile "${FILEPATH}\vlc\libvlc.dll.manifest"

То инсталляция происходит нормально, но списка файлов в UninstallLog нет

В чем дело не пойму .... Может кто знает в чем заковырка?

Krinkels
17-06-2011, 10:30
Tankan
1. Можно сделать так: System::Call "kernel32::CreateMutexA(i 0, i 0, t '$(^Name)') i .r0 ?e"
Pop $0
StrCmp $0 0 launch
StrLen $0 "$(^Name)"
IntOp $0 $0 + 1
loop:
FindWindow $1 '#32770' '' 0 $1
IntCmp $1 0 +4
System::Call "user32::GetWindowText(i r1, t .r2, i r0) i."
StrCmp $2 "$(^Name)" 0 loop
System::Call "user32::SetForegroundWindow(i r1) i."
Abort
launch:
3. Для NSIS есть плагин для распаковки 7z архивов, используй его. Так же могу скинуть плагин для распаковки FreArc архивов.

funtykin
17-06-2011, 11:01
sawe,

Спасибо! то что нужно!

funtykin
17-06-2011, 12:11
!include MUI.nsh ; интерфейс MUI2.nsh не катит!
SetCompressor /SOLID lzma
XPStyle on
Name "MMM"
OutFile Test_file.exe
InstallDir "$PROGRAMFILES\MMM" # папка установки по умолчанию!
InstallDirRegKey HKLM "Software\MMM" "" # получить установку папки из реестра если доступно!
RequestExecutionLevel user
;Спец страницы!
!define MUI_PAGE_CUSTOMFUNCTION_PRE WelcomePageSetupLinkPre
!define MUI_PAGE_CUSTOMFUNCTION_SHOW WelcomePageSetupLinkShow
!define MUI_WELCOMEPAGE_TITLE "Вас приветствует установщик $(^Name)"
!define MUI_TEXT_WELCOME_INFO_TEXT "Пожалуйста закройте все работающие приложения. \
$\nЭто обновит системные файлы без перезагрузки.$\n$\n$\nВыберите файл для вашей установки."
;Последовательность открытия страниц!
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE Russian
Function WelcomePageSetupLinkPre
var /global Filic
StrCpy $Filic "$EXEDIR\Text.txt"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" 4 # счетчик увеличения!
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" 100 # ограничение размера верхней метки!
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Type" FileRequest # тип!
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Text" ""
; Определите фильтр, для элементов которые можно выбрать, разделять чертой | без пробелов
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Filter" "Filter=Text Files|*.txt|Programs|*.exe;*.com|All Files|*.*"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "State" "$Filic" # состояние!
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Left" 120 # отступ слева!
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" 100 # отступ от верха!
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Right" 320 # длина вправо!
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" 112 # высота строки!
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Flags" "NOTABSTOP|FILE_EXPLORER" # флаг!
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "HWND" "" # высота строки!
FunctionEnd
Function WelcomePageSetupLinkShow
!insertmacro MUI_INSTALLOPTIONS_SHOW
FunctionEnd
Section -bbbbbb # секция установки файлов!
/*------- MMM ---------*/
SectionEnd

а как тут выцарапать путь указанного файла?
или он в какую переменную передается?

Tankan
17-06-2011, 15:01
Krinkels,
1. Как так? конкретный код дай, который мне можно встатвить в свой.

2. По этому вопросу что скажите? Как установить атрибуты на файлы, чтоб извлекались и билы скрытие и системные.

3. А при чем тут распаковка? если мне нужна упаковка с сильным скажитем.
Возможно даже, что сжимать несколько раз, чтоб добиться меньшего размера инсталлятора.

Пожалуйства ответьте, кто хорошо понимает в nsis, как можно сдлать этакое.

sawe
17-06-2011, 17:52
а как тут выцарапать путь указанного файла? »

Объясни подробно, что и как вам нужно и для какой цели, очень часто бывает, что решение намного проще чем вы его себе представляете в начале!

sawe
17-06-2011, 19:22
По этому вопросу что скажите? Как установить атрибуты на файлы, чтоб извлекались и билы скрытие и системные. »

NORMAL или FILE_ATTRIBUTE_NORMAL (или просто 0)
ARCHIVE или FILE_ATTRIBUTE_ARCHIVE
HIDDEN или FILE_ATTRIBUTE_HIDDEN
OFFLINE или FILE_ATTRIBUTE_OFFLINE
READONLY или FILE_ATTRIBUTE_READONLY
SYSTEM или FILE_ATTRIBUTE_SYSTEM
TEMPORARY или FILE_ATTRIBUTE_TEMPORARY

Пример применения:
SetFileAttributes "$INSTDIR\имя_файл.exe" ARCHIVE|HIDDEN|SYSTEM|READONLY

3. А при чем тут распаковка? если мне нужна упаковка с сильным скажитем. »

Штатными средствами NSIS можно увеличить сжатие
SetCompressor /FINAL /SOLID lzma
Можно так же положи в папку со скриптом файл upx.exe и вставь этот код

!define HAVE_UPX
!ifdef HAVE_UPX
!packhdr tmpexe.tmp "UPX --best -q --compress-icons=0 tmpexe.tmp"
!endif


Есть очень хороший плагин для архивов FreeArc - распаковка arc-архивов, несколько страниц назад пролистайте и найдёте его.

Я в таких случаях использую 7-Zip архиватор, попробуй мою сборку этого архиватора Zip 9.22 с последним SFX (http://dn1.berloga.net/176413/7-Zip_9.22_tool_1.5_x86_x64.exe) или с сайта автора SFX (http://7zsfx.info/ru/).

NSIS имеет ограничение на файл размером более 2GB, и при большом размере файла инсталлятора иконка не видна, поэтому лучше прикреплять большие файлы, и что бы сильно не мудрить, можно использовать такой код:


Copyfiles /SILENT "$EXEDIR\Имя_файла.exe" "$INSTDIR\Имя_файла.exe" # паравозик!
ExecWait "$INSTDIR\Имя_файла.exe" # извлечь ожидая завершения!
Delete "$INSTDIR\Имя_файла.exe" # если более не нужен!


Здесь на форуме в разделе InnoSetup (http://forum.ru-board.com:9000/topic.cgi?forum=5&topic=30239&start=1860) используют Утилиту Precomp (http://schnaader.info/precomp.php#d), которая разбирает файл на бинарник а потом собирает его в Патч, но уже намного меньшего размера, после инсталляции производит эту операцию в обратном порядке.

--

funtykin
18-06-2011, 10:18
sawe, Спасибо я вчера еще разобрался.. то что вы мне первый раз написали оказалось достаточным чтобы начать понимать как это работает.

sawe
18-06-2011, 15:29
оказалось достаточным чтобы начать понимать как это работает. »
Ну тогда читай \Docs\InstallOptions\Readme.html

kotkovets
18-06-2011, 17:53
Можно ли, создать кустомную страницу используя nsDialog для отображения страницы СтартМеню »
Вот пример, сливаем архив Listview.zip отсюда (http://nsis.sourceforge.net/Header_file_for_Listview) подключаем библиотеку CommCtrl.nsh
!include "MUI2.nsh"
!include "CommCtrl.nsh"
!include "FileFunc.nsh"
!insertmacro Locate

Name "ListView"
Caption "ListView DetailPrint"
OutFile StartMenu.exe
ShowInstDetails show

!define PROGRAMS "Test ListView"


Page custom CreatePage LeavePage

!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"

Var Dialog
Var ListView
Var Text
Var Item
Var CheckBox
Var STARTMENUFOLDER
Var Check

Function CreatePage
!insertmacro MUI_HEADER_TEXT `Listview control SMPROGRAMS` \
`A ListView control created by nsDialogs plugin`
nsDialogs::Create 1018
Pop $Dialog

${NSD_CreateText} 0 0u 100% 12u `${PROGRAMS}`
Pop $Text
${NSD_SetFocus} $Text

${NSD_CreateListView} 0 20u 100% 75% ``
Pop $ListView
${NSD_LV_InsertColumn} $ListView 0 425 `« меню Пуск -> Программы »`

${NSD_CreateCheckBox} 0u 130u 200u 12u "Не создавать ничего в « меню Пуск -> Программы »"
Pop $CheckBox
${NSD_OnClick} $CheckBox fnCheckBox

SetShellVarContext all
System::Alloc 512
Pop $R5
System::Call `comctl32::ImageList_Create(i16,i16,i${ILC_MASK}|${ILC_COLOR32},i0,i0)i.R4` ; создаем массив изображений
StrCpy $Item "-1"
${Locate} "$SMPROGRAMS" "/L=D /G=0" "SMPROGRAMS"
SendMessage $ListView ${LVM_SETIMAGELIST} ${LVSIL_SMALL} $R4 ;ложим ImageList на ListView
SendMessage $ListView ${LVM_SETEXTENDEDLISTVIEWSTYLE} ${LVS_EX_LABELTIP} ${LVS_EX_LABELTIP} ;подсказка, если текст за выходит заграницу ListView
SendMessage $ListView ${LVM_SETEXTENDEDLISTVIEWSTYLE} ${LVS_EX_FULLROWSELECT} ${LVS_EX_FULLROWSELECT} ;полное выделение
;SendMessage $ListView ${LVM_SETEXTENDEDLISTVIEWSTYLE} ${LVS_EX_GRIDLINES} ${LVS_EX_GRIDLINES} ;добавляем линии в ListView
${NSD_OnNotify} $ListView GetNamePROGRAMS
nsDialogs::Show
System::Call `comctl32::ImageList_Destroy(iR4)`
System::Free $R5
FunctionEnd

Function fnCheckBox
Pop $CheckBox
${NSD_GetState} $CheckBox $Check
${If} $Check = 1
EnableWindow $Text 0
EnableWindow $ListView 0
${ElseIf} $Check = 0
EnableWindow $Text 1
EnableWindow $ListView 1
${EndIf}
FunctionEnd

Function SMPROGRAMS
IntOp $Item $Item + 1
System::Call 'shell32::SHGetFileInfo(tR9,i0,iR5,i352,\
i${SHGFI_ICON}|${SHGFI_SMALLICON}|${SHGFI_DISPLAYNAME})' ;выдергиваем иконки из папки через кэш проводника
System::Call "*$R5(i.R3)" ;массив иконок
System::Call "comctl32::ImageList_AddIcon(iR4,iR3)" ;добавляем иконку в ImageList
System::Call `user32::DestroyIcon(iR3)`
System::Call `kernel32::FreeLibrary(iR4)`
${NSD_LV_InsertItem} $ListView $Item $R7 ;создаем итемы в ListView
${NSD_LV_SetItemImage} $ListView $Item $Item
Push $0
FunctionEnd

Function GetNamePROGRAMS ;обработка события отметки
System::Store SR1R1R0 ;приватный стек с идентификаторами
${Select} $R1
${Case} ${LVN_ITEMCHANGED} ; признак, событие отметки итема
System::Call "*$R0(i,i,i,i.R2,i,i,i,i,i,i)" ; находим индекс отмеченного итема
${NSD_LV_GetItemText} $ListView $R2 0 "$STARTMENUFOLDER" ;по найденному индексу считываем текст итема
${NSD_SetText} $Text "$STARTMENUFOLDER\${PROGRAMS}" ; кидаем текст в поле ввода
${CaseElse}
${EndSelect}
System::Store L
FunctionEnd

Function LeavePage
${NSD_GetState} $CheckBox $Check
${If} $Check = 0
${NSD_GetText} $Text "$STARTMENUFOLDER"
${EndIf}
FunctionEnd

Section Main
${If} $Check = 0
DetailPrint $SMPROGRAMS\$STARTMENUFOLDER
CreateDirectory "$SMPROGRAMS\$STARTMENUFOLDER" ;создаем папку в меню Пуск -> Программы
${EndIf}
SectionEnd
необходимо реализовать диалоговое окно в котором нужно указать фаил и скопировать его в дальнейшем в путь установки. »
Пример на интерфейсе MUI2
OutFile "setup.exe"

ShowInstDetails show
InstallDir "$PROGRAMFILES\TEsT"

!include "MUI2.nsh"
!include "FileFunc.nsh"
!insertmacro GetFileName

Page custom SelectFile
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"

Var Dialog
Var Button
Var FILEPATH
Var FILENAME

Function SelectFile
!insertmacro MUI_HEADER_TEXT `Диалог выбора файла для копирования` `Сontrol created by nsDialogs plugin`
nsDialogs::Create 1018
Pop $Dialog
${NSD_CreateButton} 0 0 60u 14u "Выбор файла"
Pop $Button
${NSD_OnClick} $Button Button ;обработка события на клик кнопки
nsDialogs::Show
FunctionEnd

Function Button ;функция обработки события
Pop $Button
nsDialogs::SelectFileDialog "" "*.*" ;диалог выбора файла
Pop $FILEPATH ;в переменной FILEPATH - путь к выбранному файлу
FunctionEnd

Section "CopyFile"
SetOutPath "$INSTDIR"
${If} $FILEPATH != '' ;если не выбран файл, то пропустить копирование
${GetFileName} "$FILEPATH" "$FILENAME" ;из пути к файлу вытаскиваем имя файла
CopyFiles /Silent "$FILEPATH" "$INSTDIR\$FILENAME"
${EndIf}
SectionEnd
если мне нужна упаковка с сильным сжатием»
Я всегда пакую файлы таким образом, и чаще всего 7-zip отдыхает:
SetCompressor /SOLID LZMA
SetCompressorDictSize 64 ;или 128, зависит от оперативки компа, максимум 170
SetDatablockOptimize on

sawe
18-06-2011, 19:13
Вот пример, сливаем архив Listview.zip отсюда подключаем библиотеку CommCtrl.nsh »
Нуууу - вы просто монстр!
Сначала пропал куда-то, тут резко появился, как дед мороз с подарками, и все довольны.
Я такого подарка, даже не ожидал, спасибо будем доводить по месту.

Вот если бы помог разобраться с 1cd theme (http://rghost.ru/8483541). На форуме WinAmp тоже не совсем разобрались с этим, посоветовали две короткие строки добавить, но оно не срабатывает.

kotkovets
18-06-2011, 20:25
sawe,
Я скинами не занимаюсь, но думаю, что проблема в плагине и в ресурсах диалога NSIS - не очень дружат, то они.
К тому же плагин требует отключения стиля - вот это ни в какие ворота не лезет! к разрабу плагина обратитесь...

sawe
19-06-2011, 00:47
Я пытался, но они полностью переключились на ExperienceUI, мне не очень-то нравиться скино-творение, но для классического, как мне кажется просто необходимо. Wansis мне понравился из за самого маленького размера и простой реализации.

sawe
20-06-2011, 15:53
Можно ли, создать кустомную страницу используя nsDialog для отображения страницы СтартМеню »
Есть проблема, когда ни чего не выбрано всё работает OK, когда выбрана папка, инсталлятор создаёт в выбранной папке ярлыки но предварительно не создаёт папку с именем программы.
При таком изменении начинает работать но не удаляет папку:


${If} $Check3 = 0
CreateDirectory "$SMPROGRAMS\$StartMenuFolder\${AppName}" ;создаем папку в меню Пуск -> Программы
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\${AppName}\${AppName}.lnk" "$INSTDIR\${ExeName}" "" "$INSTDIR\${ExeName}" 0
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\${AppName}\Справка.lnk" "$INSTDIR\Languages\russian.chm" "" "$WINDIR\hh.exe" 0
WriteINIStr "$SMPROGRAMS\$StartMenuFolder\${AppName}\${AppName}.url" "InternetShortcut" "URL" "${Website}"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\${AppName}\Удаление.lnk" "$INSTDIR\Uninstall.exe"
${EndIf}

---

kotkovets
20-06-2011, 17:01
Есть проблема »
Все ярлыки и папки создаются для всех пользователей, если нужно для текущего, то вместо SetShellVarContext all пишем SetShellVarContext current в кастомной страничке
предварительно не создаёт папку с именем программы»
эту проблему исправил еще вчера и сейчас подправил подстановку константы.
!define PROGRAMS "Test ListView" - ${PROGRAMS} -> значение меняем на нужное название
---
${NSD_SetText} $Text "$STARTMENUFOLDER\${PROGRAMS}" ; кидаем текст в поле ввода
на выходе получаем: $STARTMENUFOLDER = $STARTMENUFOLDER\${PROGRAMS}
т.е достаточно:
CreateDirectory "$SMPROGRAMS\$StartMenuFolder
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\link.lnk" "$INSTDIR\*.exe" "" "$INSTDIR\*.exe" 0
---
Зачем усложнять самого себя еще больше...
Если чебокс отмечен - ничего не будет создаваться.
Все работает, создаются папки и ярлыки - сделано по аналогии с стандартным плагином

Eneten
21-06-2011, 14:28
Друзья, помогите пожалуйста.
Мне необходимо установить IIS инсталятором NSIS.

Я пытаюсь выполнять соответствующую команду при помощи ExecCmd::exec. Соответсвующий плагин установлен.
Одна из секций инстолятора имеет следующий вид

Section "IIS" IISSection
ExecCmd::exec /TIMEOUT=10000 '"start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ISAPIExtensions;IIS-ISAPIFilter;"'
SectionEnd

При установки появляется сообщение об ошибке (см. прикрепленный файл)

Windows Package Manager
Operation failed with 0x8007000B
An attemt to make a program with an incorrect format.

Подскажите пожалуйста что я делаю не так!
Через командную строку команда успешно выполняется и все нужные компоненты IIS устанавливаются.

kotkovets
21-06-2011, 14:43
Eneten, покажите содержимое батника

Eneten
21-06-2011, 16:20
kotkovets, батника нет!
Есть одна команда которую я хочу вызвать
start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ISAPIExtensions;IIS-ISAPIFilter;

onis
23-06-2011, 14:51
Подскажите пожалуйста, как мне сделать регистрацию таких файлов
ac3filter.ax
CLLine21.ax
CLDemuxer.ax
CLNAVX.ax
CLVSD.ax
CoreAVCDecoder.ax
CoreVorbis.ax
divxdec.ax
DivX.dll
voxmsdec.ax
vsfilter.dll
xvid.ax
в скрипте.
делаю свой кодек пак




© OSzone.net 2001-2012