PDA

Показать полную графическую версию : [addon] CyberLink Decoder Pack 2013


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

VladDr
11-09-2013, 20:55
Если ставите Power DVD, »

Я не ставлю Power DVD, я изучаю фильтры, пoлyчeнныe из paзныx источников.

Мне не понятен смысл вашей проблемы. »

Xopoшo, oбьяcню нa пpимepe: я установил игру, пpoшёл её, a пpи yдaлeнии она удалила все ycтaнoвлeнные
у меня игры. Kaк-тo тупо, нe нaxoдитe ?

wolkow70
12-09-2013, 08:32
a пpи yдaлeнии она удалила все ycтaнoвлeнные
у меня игры. Kaк-тo тупо, нe нaxoдитe ? »

У вас, что все игры из одного инсталлятора в одну папку устанавливаются?
я изучаю фильтры, пoлyчeнныe из paзныx источников »
Эта сборка не предназначена для экспериментов и изучения фильтров, пoлyчeнных из paзныx источников.
Для чего она предназначена написано в шапке (для интеграции в дистрибутив XP).
Удаляется вся папка созданная данным аддоном.

VladDr
12-09-2013, 12:53
У вас, что все игры из одного инсталлятора в одну папку устанавливаются?
Удаляется вся папка созданная данным аддоном. »

Этo дa. Я неcколько оговорился - не yдаляются, a деpeгиcтpиpyются кoмпoнeнты, ycтaнoвлeнныe нe дaнным
пaкeтoм. (a мнoй, нaпpимep, вpyчнyю)

boss911
12-09-2013, 14:04
VladDr

В какую директорию вы устанавливаете данный набор? Это путь по умолчанию (%ProgramFiles%\CyberLink)? Что у вас в той папке, в которую вы устанавливаете этот набор, например, в "%ProgramFiles%\CyberLink" (если туда ставите)? Какие именно компоненты (покажите список файлов) дерегятся при деинсталляции этого набора?

VladDr
12-09-2013, 15:20
В какую директорию вы устанавливаете данный набор? »
%ProgramFiles%\CL
Что у вас в той папке, в которую вы устанавливаете этот набор, »
To, чтo выбрал на этапе ycтaнoвки (в том случае были file'ы CyberLink Audio Decoder'a)
Какие именно компоненты (покажите список файлов) дерегятся »
Деpeгиcтpиpyются все компоненты (в мoдyль удаления вбит список всех фильтров наборa).
Пoэтoмy если в системе есть дpyгиe фильтры с такими же именами, oни тoжe пpиxвaтывaютcя.

wolkow70
12-09-2013, 15:44
Деинсталлятор - это самостоятельный программный модуль, он не знает какие компоненты были выбраны в инсталляторе при установке.
Поэтому удаляются все включенные в список файлы находящиеся в папке, созданной аддоном при установке. Затем удаляется сама папка.
Фильтры де-регистрируются по CLSID, чтобы не оставлялось следов в системе. Поэтому я оговаривал, что аддон не совместим с другими продуктами Cyberlink и отдельно установленными одноименными фильтрами.
Введение логирования установки и проверки соответствия зарегистрированных фильтров установленным именно данным аддоном требует значительного усложнения механизма установки и деинсталляции, в чем я не вижу необходимости в большинстве случаев и для большинства пользователей.

VladDr
12-09-2013, 17:42
в чем я не вижу необходимости в большинстве случаев и для большинства пользователей. »
Это я уже понял..

boss911
12-09-2013, 18:26
%ProgramFiles%\CL »
То есть до установки, папки "%ProgramFiles%\CL" не существует, она создается инсталлятором? Мне важно разобраться, вы в чистую папку ставите или уже с какими-то вашими файлами.
Пoэтoмy если в системе есть дpyгиe фильтры с такими же именами, oни тoжe пpиxвaтывaютcя. »
Прихватываются, в смысле дерегятся? Это нормально, только это зависит не от имени файла, а от CLSID. Как выше было сказано, кодек дерегится по CLSID. Если у вас в ОС зарегистрированный кодек с определенным CLSID, то при установке кодека с таким же CLSID, первый просто затирается и больше не используется, будет теперь работать последний зарегистрированный. После дерега, регистрация перового кодека по понятным причинам не возвращается. Это абсолютно нормальное поведение.

Деинсталлятор - это самостоятельный программный модуль, он не знает какие компоненты были выбраны в инсталляторе при установке. »
Это какой-то убогий инсталлятор, хотя, NSIS таковым не назовешь, может, так написан скрипт. Вообще-то, нормальный инсталлятор генерирует деинсталлятор после установки, в деинсталляторе записывается вся информация установки, в том числе и выбор компонентов, ярлыков, путь установки и прочие задачи. При запуске такого деинсталлятора, он уже знает, что пользователь ставил, посему НЕ зацепит того, чего юзер не отмечал (не ставил) в момент инсталляции. Если деинсталлятор цепляет даже то, что юзер не отмечал во время установки, то это убогий инсталлятор, либо не грамотно написан скрипт, такого быть не должно, так делать не правильно.

VladDr говорит, что у него не установлен продукт от Cyberlink, а именно PowerDVD (ваш набор именно из это софта, это я точно знаю), но мне не понятно, что там у него прихватывается, если PowerDVD не установлен. Но все равно не хорошо, если деинсталлятор прихватывает даже то, что не было отмечено во время установки.

VladDr
12-09-2013, 18:54
То есть до установки, папки "%ProgramFiles%\CL" не существует, »
Именно так.
Прихватываются, в смысле дерегятся? »
Дa.
но мне не понятно, что там у него прихватывается, если PowerDVD не установлен. »
Я oбьяcню: стоял у меня, к пpимepу, CyberLink Demuxer2. Этот фильтр состоит из одного file'a, кoтopый мне
прислали по почте и я его установил (заpeгиcтpиpовал) вpyчнyю paнee. Boт мне понадобился CL Audio Decoder.
Я устанaвливaю его из этого пакета, выбpaв только его при установке. Чepeз нeкoтopoe вpeмя мне уже Audio
Decoder не нужен и я инициирую процедуру удаления пакета.
Ho, пpи этoм деpeгиcтpиpyется не только Audio Decoder, нo и Demuxer тоже.
Пpимep я привёл с 1им фильтром, y мeня их было несколько.

wolkow70
12-09-2013, 19:29
Это какой-то убогий инсталлятор, хотя, NSIS таковым не назовешь, может, так написан скрипт. Вообще-то, нормальный инсталлятор генерирует деинсталлятор после установки, в деинсталляторе записывается вся информация установки, в том числе и выбор компонентов, ярлыков, путь установки и прочие задачи. При запуске такого деинсталлятора, он уже знает, что пользователь ставил, посему НЕ зацепит того, чего юзер не отмечал (не ставил) в момент инсталляции. »

Это в Inno Setup инсталлятор генерирует деинсталлятор, который уже знает, что пользователь ставил.
В NSIS заложен другой принцип. Деинсталлятор в скрипте пишется как отдельный модуль. И удаляемые компоненты прописываются вручную, либо данные могут быть прочитаны из лог-файла установки, но это уже сложные скриптовые решения, возня с которыми не во всех случаях оправдана.

boss911
13-09-2013, 02:45
Ho, пpи этoм деpeгиcтpиpyется не только Audio Decoder, нo и Demuxer тоже. »
Я вас понял, я так и думал. Увы, как выше было сказано, это издержки компилятора NSIS, в котором и писался инсталлятор/деинсталлятор. Нужно писать в другом компиляторе, либо кодить сложный скрипт в NSIS, а это действительно не так просто, если ты не ас в этих делах.

wolkow70

Это серьезный минус, как по мне, разочаровался в NSIS, для меня такой минус критичен. Но мне пофиг, я фанат Inno Setup. :)

MKN
13-09-2013, 11:52
Вообще-то, нормальный инсталлятор генерирует деинсталлятор после установки »
Это делают как раз не нормальные инсталляторы, а назовём их мягко, "не оч интеллектуальные", что в корне не верно. Т.к. алгоритм удаления компонентов может иметь много зависимостей и условий.
Что и наблюдается, в частности, с CyberLink Decoder Pack_ом. Нужно грамотно поставить задачу и выяснить точно условия - что и в каком случае удаляется. Плюс - при неоднозначности ситуации, задать вопрос пользователю для принятия решения. Технически в NSIS - это вполне реализуемо и не оч то и сложно.

boss911
13-09-2013, 13:12
Т.к. алгоритм удаления компонентов может иметь много зависимостей и условий. »
И все это учитывается при генерации деинсталлятора НОРМАЛЬНЫМ инсталлятором. ИМХО, и все тут.

Я тоже себе написал кодекпак, со сложной структурой компонентов, задач и прочих условий (дополнения от себя на разные случаи), все это учитывается при генерации деинсталлятора. В итоге, деинсталлятор ничего лишнего не делает, только то, что было принято юзером при инсталляции и только то, что я сам уже от себя добавил (попытался учесть некие условия). Это есть нормальное поведение деинсталлятора - не делать ничего лишнего.

Я же прекрасно понимаю, в вашем тоне прослеживается тонкий намек, что NSIS лучше, чем Inno, вы просто это не сказали вслух, и не надо. Спорить я с вами все равно не хочу, по той причине, что я сам знаю, какой лучше, особенно для меня, кроме траты времени в пустую из этого ничего не получится.

wolkow70
13-09-2013, 15:22
Могу внедрить в деинсталлятор следующие функции:

1. Проверка наличия конкретного файла фильтра в папке установки до его де-регистрации.
2. Проверка значения параметра InprocServer32 в ключе CLSID для сравнения местонахождения фактически зарегистрированного фильтра и фильтра возможно находящегося в папке установки.

Де-регистрация фильтра будет производиться только при соблюдении двух указанных условий. Технически это осуществимо, хотя потребует усложнения скрипта.

boss911
13-09-2013, 15:48
wolkow70

То и другое, конечно, сделать можно, но, а если пользователь установит ваш набор в папку, где уже стоят фильтры от Cyberlink, выбрав только нужно ему? Все равно все снесет. Хотя, случай редкий, но возможный. Правильный выход тут только один, это брать файлы и пути к ним из лога установки скопированных файлов. Насколько это сложно сделать в NSIS, даже не представляю.

rf36
13-09-2013, 17:03
Насколько это сложно сделать в NSIS, даже не представляю. »
не очень и сложно... есть надстройка для NSIS собирающая информации о файлах которые устанавливаются и после генерирующая UNinstall.

boss911
13-09-2013, 17:35
В NSIS заложен другой принцип. Деинсталлятор в скрипте пишется как отдельный модуль. И удаляемые компоненты прописываются вручную... »есть надстройка для NSIS собирающая информации о файлах которые устанавливаются и после генерирующая UNinstall. »
Значит wolkow70 не знал о такой надстройки, а я как чувствовал, что нечто подобное просто обязательно должно быть, что это за инсталлятор, который не умеет генерировать деинсталлятор. Ну, тогда все просто можно сделать, без костылей и гемороя.

VladDr
13-09-2013, 20:27
1. Проверка наличия конкретного файла фильтра в папке установки до его де-регистрации.
2. Проверка значения параметра InprocServer32 в ключе CLSID для сравнения местонахождения фактически зарегистрированного фильтра и фильтра возможно находящегося в папке установки. »
Oчeнь xopoшaя идeя..

wolkow70
27-10-2013, 11:59
Обновление аддона Cyberlink Decoder Pack 2013.
Изменения в сборке:
1. Обновление всех декодеров и фильтров (до версии компонентов PowerDVD Ultra 13.0.3105).
2. Инсталлятор теперь содержит три типа установки:
- полная: устанавливаются все компоненты;
- сокращенная: устанавливаются только аудио и видео декодеры и ярлык удаления в Стартовом меню;
- минимальная: устанавливается только видеодекодер (CyberLink MPEG1-2/H.264/VC-1 Video Decoder);
3. В компоненты установки добавлены CyberLink MKV и CyberLink MPEG-4 сплиттеры.
4. Добавлена возможность задать высший приоритет "Preffered" для CyberLink аудио и видео декодеров;
5. Доработан механизм деинсталляции.
6. В деинсталлятор добавлена возможность удаления как всего пакета, так и отдельных его компонентов на выбор.
7. Добавлены дополнительные ключи автоустановки:
- сокращенная установка /AV
- минимальная установка /V
пример командной строки: CYBLDP.exe /S /AV (установятся тихо только аудио и видео декодеры)
примечание: при использовании указанных дополнительных ключей файл ответов использоваться не должен! Используются либо дополнительные ключи, либо файл ответов с ключом тихой установки /S.
8. Для активации CyberLink Audio Decoder в автоматическом режиме теперь необходимо файл PowerDVD13.sim разместить в одной директории с инсталлятором или в папке CYBLDP , созданной в одной директории с инсталлятором. В архиве аддона -файл пустышка. Замените его оригинальным файлом активации PowerDVD 13 с использованием легального лицензионного ключа.

Ссылка для скачивания:
http://rusfolder.com/38591514

АВаТар
28-10-2013, 08:19
Обновление аддона Cyberlink Decoder Pack 2013. »
Файлик "addon.nfo" поправить бы надо... в т.ч. слово "Cuberlink" там же...




© OSzone.net 2001-2012