Войти

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


Страниц : 1 [2] 3 4 5 6 7 8

Комсомолец
07-09-2009, 13:35
vcrank, ссылки в шапке. ;)

wolkow70
23-09-2009, 05:34
Комсомолец, скачал ваш скрипт, но так как я не силен в NSIS возник вопрос: как им пользоваться для перепаковки? Куда какие папки размещать и т.д...

K.A.V.
23-09-2009, 08:20
wolkow70, основной каталог KMPLayer (который упаковывается) распологается в
e:\NSIS\KMP player\The KMPlayer-2.9.4.1435
просто произведите автозамену данного пути на свой

файл иконки создаваемого пакета указан как в файле
e:\NSIS\KMP player\kmp.ico

Комсомолец, пока смотрел скрипт наткнулся на очень интересный синтаксис указания вами двойных кавычек:
"$\"$INSTDIR\KMPlayer.exe$\" $\"%1$\" /dvd"
если често сказать, то ужас, не обижайтесь :)
давно программирую на NSIS (все мои проги написаный на NSIS) и Я, если необхожимо указать гдето двойные кавычки ставлю кавычку ` (клавиша тильды), например ваша строка будет выглядить так:
`"$INSTDIR\KMPlayer.exe" "%1" /dvd`

мне кажется так гораздо удобней ;)

Комсомолец, для удобства пользователей, предлагаю внести поправку в скрипт:
создадим глобальную переменную:
!define KMPLayerDIR "Директория для упаковки"

далее делаем автозамену в скрипте, ищем
e:\NSIS\KMP player\The KMPlayer-2.9.4.1435

заменяем на:
${KMPLayerDIR}

преимущество в чем, в том, что тому, кто скачает скрипт, необходимо было бы изменить всего одну строчку, которая бы указывала путь расположения KMPLayer

Комсомолец
23-09-2009, 14:35
K.A.V., (клавиша тильды), например ваша строка будет выглядить так:
Код:
`"$INSTDIR\KMPlayer.exe" "%1" /dvd` »
хороший вариант.

насчет переменной-я немного по другому делаю.. рядом со скриптом лежит иконка и папка The KMPlayer-2.9.4.1435 и в ней уже:
AlbumArt
kmp-setup
Skins
wizard

ну и соответственно в самом скрипте указаны относительные пути. например,
SetOutPath "$INSTDIR\Skins"
File "The KMPlayer-2.9.4.1435\Skins\*.*"

K.A.V.
23-09-2009, 14:40
ну и соответственно в самом скрипте указаны относительные пути. например,
SetOutPath "$INSTDIR\Skins"
File "The KMPlayer-2.9.4.1435\Skins\*.*" »
когда я пишу программы, я стараюсь сделать скрипт более универсальным, ведь, скажем, номер версии не будет всегда постоянным... :)
Дело конечно ваше - заменять или не заменять, моё дело предложить ;)

я немного по другому делаю.. »
ну это понятно, НО ведь согласитесь, зачем вы выложили сюда данный скрипт? Ведь чтобы ВСЕ могли им воспользоваться, даже те, кто с NSIS вообще не знаком, ладно дело я, на NSIS пишу уже не помню сколько лет, я разберусь, а вот остальные пользователи...вот в чем вопрос

K.A.V.
23-09-2009, 21:07
volk1234, по поводу цикла.
Макрос перекочевал с аимпа, там индекс был обусловлен порядком иконок в библиотеке значков. К тому же я что то не понимаю, как применим тут цикл FOR ? Индекс значка определяется расширением, переданным параметром EXTENSION. Если есть какой-то пример - прошу, в студию, так сказать. Рассмотрим/обсудим. »

можно использовать такой метод
; video
StrCmp ${extenstion} "ASF" 0 +3
StrCpy $IconIndex 0
goto EndSwitch

StrCmp ${extenstion} "AVI" 0 +3
StrCpy $IconIndex 2
goto EndSwitch

StrCmp ${extenstion} "WMV" 0 +3
StrCpy $IconIndex 17
goto EndSwitch

StrCmp ${extenstion} "FLV" 0 +3
StrCpy $IconIndex 111
goto EndSwitch

StrCmp ${extenstion} "MKV" 0 +3
StrCpy $IconIndex 30
goto EndSwitch

StrCmp ${extenstion} "MOV" 0 +3
StrCpy $IconIndex 8
goto EndSwitch

StrCmp ${extenstion} "3GP" 0 +3
StrCpy $IconIndex 48
goto EndSwitch

StrCmp ${extenstion} "DIVX" 0 +3
StrCpy $IconIndex 56
goto EndSwitch

StrCmp ${extenstion} "MP4" 0 +3
StrCpy $IconIndex 43
goto EndSwitch

StrCmp ${extenstion} "MPG" 0 +3
StrCpy $IconIndex 12
goto EndSwitch

StrCmp ${extenstion} "MPEG" 0 +3
StrCpy $IconIndex 11
goto EndSwitch

StrCmp ${extenstion} "MPE" 0 +3
StrCpy $IconIndex 10
goto EndSwitch

StrCmp ${extenstion} "DAT" 0 +3
StrCpy $IconIndex 3
goto EndSwitch

StrCmp ${extenstion} "VOB" 0 +3
StrCpy $IconIndex 14
goto EndSwitch

StrCmp ${extenstion} "IFO" 0 +3
StrCpy $IconIndex 40
goto EndSwitch

StrCmp ${extenstion} "M1V" 0 +3
StrCpy $IconIndex 4
goto EndSwitch

StrCmp ${extenstion} "M2V" 0 +3
StrCpy $IconIndex 5
goto EndSwitch

StrCmp ${extenstion} "M4V" 0 +3
StrCpy $IconIndex 70
goto EndSwitch

StrCmp ${extenstion} "MMS" 0 +3
StrCpy $IconIndex 14
goto EndSwitch

StrCmp ${extenstion} "OGM" 0 +3
StrCpy $IconIndex 29
goto EndSwitch

StrCmp ${extenstion} "QT" 0 +3
StrCpy $IconIndex 13
goto EndSwitch

StrCmp ${extenstion} "TS" 0 +3
StrCpy $IconIndex 99
goto EndSwitch

StrCmp ${extenstion} "VP6" 0 +3
StrCpy $IconIndex 101
goto EndSwitch

StrCmp ${extenstion} "XVID" 0 +3
StrCpy $IconIndex 109
goto EndSwitch

StrCmp ${extenstion} "3G2" 0 +3
StrCpy $IconIndex 47
goto EndSwitch

StrCmp ${extenstion} "TP" 0 +3
StrCpy $IconIndex 97
goto EndSwitch

StrCmp ${extenstion} "AVI-Neo" 0 +3
StrCpy $IconIndex 39
goto EndSwitch

StrCmp ${extenstion} "BIK" 0 +3
StrCpy $IconIndex 52
goto EndSwitch

StrCmp ${extenstion} "D2V" 0 +3
StrCpy $IconIndex 55
goto EndSwitch

StrCmp ${extenstion} "DRC" 0 +3
StrCpy $IconIndex 57
goto EndSwitch

StrCmp ${extenstion} "IFV" 0 +3
StrCpy $IconIndex 66
goto EndSwitch

StrCmp ${extenstion} "MP2V" 0 +3
StrCpy $IconIndex 78
goto EndSwitch

StrCmp ${extenstion} "MPV2" 0 +3
StrCpy $IconIndex 81
goto EndSwitch

StrCmp ${extenstion} "MQV" 0 +3
StrCpy $IconIndex 82
goto EndSwitch

StrCmp ${extenstion} "PART" 0 +3
StrCpy $IconIndex 86
goto EndSwitch

StrCmp ${extenstion} "PSS" 0 +3
StrCpy $IconIndex 87
goto EndSwitch

StrCmp ${extenstion} "ROQ" 0 +3
StrCpy $IconIndex 90
goto EndSwitch

StrCmp ${extenstion} "SMK" 0 +3
StrCpy $IconIndex 94
goto EndSwitch

StrCmp ${extenstion} "TPR" 0 +3
StrCpy $IconIndex 98
goto EndSwitch

StrCmp ${extenstion} "TRP" 0 +3
StrCpy $IconIndex 110
goto EndSwitch

StrCmp ${extenstion} "DVR-MS" 0 +3
StrCpy $IconIndex 114
goto EndSwitch

StrCmp ${extenstion} "GVI" 0 +3
StrCpy $IconIndex 115
goto EndSwitch

StrCmp ${extenstion} "NSV" 0 +3
StrCpy $IconIndex 117
goto EndSwitch

StrCmp ${extenstion} "PMP" 0 +3
StrCpy $IconIndex 118
goto EndSwitch

StrCmp ${extenstion} "VP7" 0 +3
StrCpy $IconIndex 120
goto EndSwitch

StrCmp ${extenstion} "VC1" 0 +3
StrCpy $IconIndex 138
goto EndSwitch

StrCmp ${extenstion} "264" 0 +3
StrCpy $IconIndex 127
goto EndSwitch

StrCmp ${extenstion} "H264" 0 +3
StrCpy $IconIndex 131
goto EndSwitch
;....................................................................................
; audio
StrCmp ${extenstion} "MP3" 0 +3
StrCpy $IconIndex 9
goto EndSwitch

StrCmp ${extenstion} "AAC" 0 +3
StrCpy $IconIndex 42
goto EndSwitch

StrCmp ${extenstion} "WMA" 0 +3
StrCpy $IconIndex 16
goto EndSwitch

StrCmp ${extenstion} "CDA" 0 +3
StrCpy $IconIndex 54
goto EndSwitch

StrCmp ${extenstion} "FLAC" 0 +3
StrCpy $IconIndex 41
goto EndSwitch

StrCmp ${extenstion} "M4A" 0 +3
StrCpy $IconIndex 69
goto EndSwitch

StrCmp ${extenstion} "MID" 0 +3
StrCpy $IconIndex 6
goto EndSwitch

StrCmp ${extenstion} "MKA" 0 +3
StrCpy $IconIndex 72
goto EndSwitch

StrCmp ${extenstion} "MP2" 0 +3
StrCpy $IconIndex 77
goto EndSwitch

StrCmp ${extenstion} "MPA" 0 +3
StrCpy $IconIndex 79
goto EndSwitch

StrCmp ${extenstion} "MPC" 0 +3
StrCpy $IconIndex 45
goto EndSwitch

StrCmp ${extenstion} "APE" 0 +3
StrCpy $IconIndex 44
goto EndSwitch

StrCmp ${extenstion} "OFR" 0 +3
StrCpy $IconIndex 85
goto EndSwitch

StrCmp ${extenstion} "OGG" 0 +3
StrCpy $IconIndex 28
goto EndSwitch

StrCmp ${extenstion} "WV" 0 +3
StrCpy $IconIndex 121
goto EndSwitch

StrCmp ${extenstion} "AC3" 0 +3
StrCpy $IconIndex 46
goto EndSwitch

StrCmp ${extenstion} "DTS" 0 +3
StrCpy $IconIndex 58
goto EndSwitch

StrCmp ${extenstion} "WAV" 0 +3
StrCpy $IconIndex 15
goto EndSwitch

StrCmp ${extenstion} "AIFF" 0 +3
StrCpy $IconIndex 50
goto EndSwitch

StrCmp ${extenstion} "AIFC" 0 +3
StrCpy $IconIndex 49
goto EndSwitch

StrCmp ${extenstion} "AU" 0 +3
StrCpy $IconIndex 51
goto EndSwitch

StrCmp ${extenstion} "AMR" 0 +3
StrCpy $IconIndex 123
goto EndSwitch

StrCmp ${extenstion} "IT" 0 +3
StrCpy $IconIndex 65
goto EndSwitch

StrCmp ${extenstion} "M2A" 0 +3
StrCpy $IconIndex 68
goto EndSwitch

StrCmp ${extenstion} "MO3" 0 +3
StrCpy $IconIndex 75
goto EndSwitch

StrCmp ${extenstion} "MTM" 0 +3
StrCpy $IconIndex 83
goto EndSwitch

StrCmp ${extenstion} "S3M" 0 +3
StrCpy $IconIndex 93
goto EndSwitch

StrCmp ${extenstion} "MIDI" 0 +3
StrCpy $IconIndex 71
goto EndSwitch

StrCmp ${extenstion} "M1A" 0 +3
StrCpy $IconIndex 67
goto EndSwitch

StrCmp ${extenstion} "MOD" 0 +3
StrCpy $IconIndex 76
goto EndSwitch

StrCmp ${extenstion} "RMI" 0 +3
StrCpy $IconIndex 89
goto EndSwitch

StrCmp ${extenstion} "SND" 0 +3
StrCpy $IconIndex 95
goto EndSwitch

StrCmp ${extenstion} "UMX" 0 +3
StrCpy $IconIndex 100
goto EndSwitch

StrCmp ${extenstion} "XM" 0 +3
StrCpy $IconIndex 108
goto EndSwitch

StrCmp ${extenstion} "ARM" 0 +3
StrCpy $IconIndex 112
goto EndSwitch

StrCmp ${extenstion} "AVC-TS" 0 +3
StrCpy $IconIndex 113
goto EndSwitch

StrCmp ${extenstion} "SHN" 0 +3
StrCpy $IconIndex 119
goto EndSwitch

StrCmp ${extenstion} "WV" 0 +3
StrCpy $IconIndex 121
goto EndSwitch

StrCmp ${extenstion} "EC3" 0 +3
StrCpy $IconIndex 129
goto EndSwitch

StrCmp ${extenstion} "EAC3" 0 +3
StrCpy $IconIndex 128
goto EndSwitch

StrCmp ${extenstion} "EVO" 0 +3
StrCpy $IconIndex 130
goto EndSwitch

StrCmp ${extenstion} "LPCM" 0 +3
StrCpy $IconIndex 132
goto EndSwitch

StrCmp ${extenstion} "MLP" 0 +3
StrCpy $IconIndex 133
goto EndSwitch

StrCmp ${extenstion} "MT9" 0 +3
StrCpy $IconIndex 134
goto EndSwitch

StrCmp ${extenstion} "PCM" 0 +3
StrCpy $IconIndex 135
goto EndSwitch

StrCmp ${extenstion} "THD" 0 +3
StrCpy $IconIndex 139
goto EndSwitch
;....................................................................................
; subtitles

StrCmp ${extenstion} "SMI" 0 +3
StrCpy $IconIndex 18
goto EndSwitch

StrCmp ${extenstion} "RT" 0 +3
StrCpy $IconIndex 31
goto EndSwitch

StrCmp ${extenstion} "SUB" 0 +3
StrCpy $IconIndex 32
goto EndSwitch

StrCmp ${extenstion} "IDX" 0 +3
StrCpy $IconIndex 33
goto EndSwitch

StrCmp ${extenstion} "ASS" 0 +3
StrCpy $IconIndex 34
goto EndSwitch

StrCmp ${extenstion} "SSA" 0 +3
StrCpy $IconIndex 35
goto EndSwitch

StrCmp ${extenstion} "RSB" 0 +3
StrCpy $IconIndex 36
goto EndSwitch

StrCmp ${extenstion} "SRT" 0 +3
StrCpy $IconIndex 37
goto EndSwitch

StrCmp ${extenstion} "S2K" 0 +3
StrCpy $IconIndex 38
goto EndSwitch

StrCmp ${extenstion} "MKS" 0 +3
StrCpy $IconIndex 73
goto EndSwitch
;....................................................................................
; playlists
StrCmp ${extenstion} "ASX" 0 +3
StrCpy $IconIndex 1
goto EndSwitch

StrCmp ${extenstion} "WAX" 0 +3
StrCpy $IconIndex 102
goto EndSwitch

StrCmp ${extenstion} "M3U" 0 +3
StrCpy $IconIndex 20
goto EndSwitch

StrCmp ${extenstion} "PLS" 0 +3
StrCpy $IconIndex 19
goto EndSwitch

StrCmp ${extenstion} "WMX" 0 +3
StrCpy $IconIndex 105
goto EndSwitch

StrCmp ${extenstion} "WPL" 0 +3
StrCpy $IconIndex 106
goto EndSwitch

StrCmp ${extenstion} "WVX" 0 +3
StrCpy $IconIndex 107
goto EndSwitch

;....................................................................................
; real media
StrCmp ${extenstion} "RA" 0 +3
StrCpy $IconIndex 21
goto EndSwitch

StrCmp ${extenstion} "RM" 0 +3
StrCpy $IconIndex 22
goto EndSwitch

StrCmp ${extenstion} "RMJ" 0 +3
StrCpy $IconIndex 23
goto EndSwitch

StrCmp ${extenstion} "RMS" 0 +3
StrCpy $IconIndex 24
goto EndSwitch

StrCmp ${extenstion} "RAM" 0 +3
StrCpy $IconIndex 25
goto EndSwitch

StrCmp ${extenstion} "RMM" 0 +3
StrCpy $IconIndex 26
goto EndSwitch

StrCmp ${extenstion} "RMVB" 0 +3
StrCpy $IconIndex 27
goto EndSwitch

StrCmp ${extenstion} "RPM" 0 +3
StrCpy $IconIndex 91
goto EndSwitch

StrCmp ${extenstion} "RV" 0 +3
StrCpy $IconIndex 82
goto EndSwitch

;....................................................................................
; other
StrCmp ${extenstion} "FLC" 0 +3
StrCpy $IconIndex 59
goto EndSwitch

StrCmp ${extenstion} "FLI" 0 +3
StrCpy $IconIndex 60
goto EndSwitch

StrCmp ${extenstion} "FLIC" 0 +3
StrCpy $IconIndex 61
goto EndSwitch

StrCmp ${extenstion} "PVA" 0 +3
StrCpy $IconIndex 88
goto EndSwitch

StrCmp ${extenstion} "SWF" 0 +3
StrCpy $IconIndex 96
goto EndSwitch

StrCmp ${extenstion} "WM" 0 +3
StrCpy $IconIndex 103
goto EndSwitch

StrCmp ${extenstion} "K3G" 0 +3
StrCpy $IconIndex 122
goto EndSwitch

StrCmp ${extenstion} "M2T" 0 +3
StrCpy $IconIndex 124
goto EndSwitch

StrCmp ${extenstion} "MTS" 0 +3
StrCpy $IconIndex 125
goto EndSwitch

StrCmp ${extenstion} "SKM" 0 +3
StrCpy $IconIndex 126
goto EndSwitch

StrCmp ${extenstion} "PMF" 0 +3
StrCpy $IconIndex 136
goto EndSwitch

StrCmp ${extenstion} "M2TS" 0 +3
StrCpy $IconIndex 116
goto EndSwitch

StrCmp ${extenstion} "KPL" 0 +3
StrCpy $IconIndex 0
goto EndSwitch

StrCmp ${extenstion} "KSF" 0 +3
StrCpy $IconIndex 0
goto EndSwitch
;....................................................................................
; ddefault icon
StrCpy $IconIndex 0

EndSwitch:

Комсомолец
24-09-2009, 13:15
K.A.V., переменная не столь существенна. а вот по циклу стоит подумать.

hb860
27-09-2009, 12:28
K.A.V., мне CASE приятней. Хотя метод имеет право на жизнь. Полезное сообщение :) +1

RickiTickiTavi
24-10-2009, 21:43
что-то не получается найти ключи командной строки :(

Habetdin
24-10-2009, 22:16
RickiTickiTavi, в шапке спойлер: Ключи командной строки: »
В новом окне/новой вкладке эту "ссылку" открывать не надо! ;)

RickiTickiTavi
25-10-2009, 07:21
Habetdin, открыл ссылку в IE, там разворачивается, а Firefox почему-то не хочет даже в новой вкладке или окне. Кнопка цитировать кстати тоже не работает.

ChVL
20-11-2009, 13:22
Пытаюсь сделать тихую установку оригинального KMPlayer 2.9.4.1436 с ключом /S, однако на старте возникает окно Installer Language с предложением выбрать язык, который будет использован в процессе установки. В остальном всё проходит без шума и пыли.
Какой ещё надо добавить ключ, чтобы это окно всё-таки не появлялось?

K.A.V.
20-11-2009, 16:44
ChVL, этот диалог убрать невозможно, когда проект уже откомпилирован, включается/выключается данная настройка в исходном коде инсталлятора, хотя, если внести необходимые данные в исходный код, то вроде можно добиться желаемого

ChVL
20-11-2009, 20:00
K.A.V., понимаю, невозможно, если разработчик не заложил в код программы соответствующий ключ. Но не очевидно, вдруг кто-нибудь знает. Потому и спросил. Можно предположить, что это явная недоработка их программистов. Они там меняли язык по умолчанию на старте с корейского на английский, и где-то что-то недоперемудрили...

K.A.V.
20-11-2009, 20:40
если разработчик не заложил в код программы соответствующий ключ »
там не одним ключем проблема решается, необходимо править сам макрос вызова функции, вот как то так... :)
Но не очевидно, вдруг кто-нибудь знает »
предыдущий мой ответ
явная недоработка их программистов »
просто об этом никто не думает наверно...

ChVL
21-11-2009, 07:20
K.A.V., ясно, что если вызов функции занопить, то можно пройти мимо этого окна. Дык, листинг, судя по объёму, будет очень уж большой. Нет желания анализировать. Проще, пожалуй, перепаковать.

K.A.V.
21-11-2009, 08:50
Проще, пожалуй, перепаковать. »
Так я к этому и виду...проще делать свой инсталлер (к тому же код уже есть), где можно реализовать подавление окна... ;)

cleric1985_n
14-02-2010, 00:13
Добавьте ссылки на закачку, а то те не работают...

Прошу прощения, все работает...

Grantsfer
29-04-2010, 16:36
Ни в одной версии
The KMPlayer-2.9.3.1428 + 109 скинов ~26,9мб
The KMPlayer-2.9.4.1435 + 109 скинов ~25,3мб
The KMPlayer-2.9.3.1428 - без скинов ~12,3мб
The KMPlayer-2.9.4.1435 - без скинов ~11,7мб
не срабатывает ключик /Video=1 можно как-то исправить?

zhlog
30-04-2010, 20:02
Это только у меня ключи командной строки не открываются?




© OSzone.net 2001-2012