Показать полную графическую версию : Автоматическая установка The KMPlayer + NSIS скрипт
Страниц :
1
[
2]
3
4
5
6
7
8
Комсомолец
07-09-2009, 13:35
vcrank, ссылки в шапке. ;)
wolkow70
23-09-2009, 05:34
Комсомолец, скачал ваш скрипт, но так как я не силен в NSIS возник вопрос: как им пользоваться для перепаковки? Куда какие папки размещать и т.д...
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\*.*"
ну и соответственно в самом скрипте указаны относительные пути. например,
SetOutPath "$INSTDIR\Skins"
File "The KMPlayer-2.9.4.1435\Skins\*.*" »
когда я пишу программы, я стараюсь сделать скрипт более универсальным, ведь, скажем, номер версии не будет всегда постоянным... :)
Дело конечно ваше - заменять или не заменять, моё дело предложить ;)
я немного по другому делаю.. »
ну это понятно, НО ведь согласитесь, зачем вы выложили сюда данный скрипт? Ведь чтобы ВСЕ могли им воспользоваться, даже те, кто с NSIS вообще не знаком, ладно дело я, на NSIS пишу уже не помню сколько лет, я разберусь, а вот остальные пользователи...вот в чем вопрос
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., переменная не столь существенна. а вот по циклу стоит подумать.
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 почему-то не хочет даже в новой вкладке или окне. Кнопка цитировать кстати тоже не работает.
Пытаюсь сделать тихую установку оригинального KMPlayer 2.9.4.1436 с ключом /S, однако на старте возникает окно Installer Language с предложением выбрать язык, который будет использован в процессе установки. В остальном всё проходит без шума и пыли.
Какой ещё надо добавить ключ, чтобы это окно всё-таки не появлялось?
ChVL, этот диалог убрать невозможно, когда проект уже откомпилирован, включается/выключается данная настройка в исходном коде инсталлятора, хотя, если внести необходимые данные в исходный код, то вроде можно добиться желаемого
K.A.V., понимаю, невозможно, если разработчик не заложил в код программы соответствующий ключ. Но не очевидно, вдруг кто-нибудь знает. Потому и спросил. Можно предположить, что это явная недоработка их программистов. Они там меняли язык по умолчанию на старте с корейского на английский, и где-то что-то недоперемудрили...
если разработчик не заложил в код программы соответствующий ключ »
там не одним ключем проблема решается, необходимо править сам макрос вызова функции, вот как то так... :)
Но не очевидно, вдруг кто-нибудь знает »
предыдущий мой ответ
явная недоработка их программистов »
просто об этом никто не думает наверно...
K.A.V., ясно, что если вызов функции занопить, то можно пройти мимо этого окна. Дык, листинг, судя по объёму, будет очень уж большой. Нет желания анализировать. Проще, пожалуй, перепаковать.
Проще, пожалуй, перепаковать. »
Так я к этому и виду...проще делать свой инсталлер (к тому же код уже есть), где можно реализовать подавление окна... ;)
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 можно как-то исправить?
Это только у меня ключи командной строки не открываются?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.