Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :.

Закрытая тема
Настройки темы
[архив].: NSIS - все вопросы :.

Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: volk1234
Дата: 09-12-2012
Описание: перевод темы в архив.
Тема закрыта!
Лимит страниц.
Продолжение тут:
.: NSIS - все вопросы :. часть 2.
Старая шапка:
читать дальше »

Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения.

Описание:
читать дальше »
NSIS (Nullsoft Scriptable Install System) - профессиональная система для создания инсталляторов в среде Windows с октрытым исходным кодом. При своем малом размере система очень гибкая, и при с широкими возможностями. Генерируемый ею инсталлятор также имеет очень маленький размер и идеально подходит для распространения продукта через Интернет.


Текущая версия: 2.46 от 6 декабря 2009 года
Скачать | Архив сборок версии 2 | Архив сборок версии 1

ВНИМАНИЕ! Созданный в NSIS инсталлятор является ANSI-приложением. Есть возможность использовать UNICODE-сборку системы, но при этом ваши дистрибутивы не будут работать в ANSI-системах, таких, как Windows 9x. Для загрузки UNICODE-сборки системы посетите сайт: http://www.scratchpaper.com/

ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов:
Справочник по NSIS - создан силами нашего сообщества.
Руководство пользователя. Перевод – Поляков А.В, зеркало

Документация

Утилиты разработчика
Расширение функциональности
читать дальше »

Плагины и полезности к NSIS: http://nsis.sourceforge.net/Category:Plugins

Интерфейс Venis GUI: http://www.spaceblue.com/products/venis
Интерфейс ExperienceUI GUI http://experienceui.xx0r.info/oldeng...erienceui/home
Пример:


Интерфейс SkinCrafter Plugin - http://www.skincrafter.com/
Пример:

Инструкция по использованию от K.A.V.

Примеры скриптов на нашем форуме
Скрипт NSIS для перепаковки AIMP2+Сборки
Тема для Notepad++(пример парсинга XML)

Достоинства
читать дальше »


◦ Очень маленький размер установочного блока (около 34 Кбайт)
◦ zlib, bzip2 и LZMA-сжатие
◦ Гибкая система скриптов (спецально разработанная для инсталляторов)
◦ Поддержка многоязычности, точнее 53 языка, есть возможность ввода нового языка
◦ Поддержка плагинов
◦ Скрипт Препроцессор
◦ Создание Web-инсталляторов

Ещё немного полезной информации:
читать дальше »

▫ История создания установщика

NSIS создан как альтернатива InstallShield, предназначенного для коммерческих продуктов.

NSIS был создан для распространения Winamp. Он базируется на предыдущем продукте Nullsoft — PiMP (plugin Mini Packager), иначе известным как SuperPiMP. После версии 2.0a0, проект был перемещён на SourceForge.net, где к работе над ним присоединились и сторонние разработчики. NSIS 2.0 был выпущен в свет 2 года спустя.

NSIS версии 1 был очень похож на классический Windows Installer, но он был более управлемым с помощью скриптов и поддерживал другие форматы сжатия. NSIS версии 2 поддерживает новый графический интерфейс пользователя, LZMA-сжатие, многоязычность и имеет хорошую систему плагинов.

Версия 2.01 была первой версией, поддерживающей компиляцию на любой из POSIX-платформ. Это позволило создавать Windows-инсталляторы на GNU/Linux и FreeBSD без использования эмулятора Wine. На данный момент поддерживается компиляция только для Windows.

▫ Описание

Компилятор NSIS — программа makensis — компилирует скрипты в исполняемый код. Каждая строчка скрипта содержит одну команду. Пример:
Код: Выделить весь код
 # Пример скрипта
 Name "Example1"
 OutFile "example1.exe"
 InstallDir "$PROGRAMFILES\Example1"
 Page Directory
 Page InstFiles
 Section
   SetOutPath $INSTDIR
   File ..\makensis.exe
 SectionEnd

Modern User Interface

В версии 2.0 был введён новый графический интерфейс пользователя, названный Modern UI (MUI). MUI очень похож на интерфейс мастеров, он поддерживает splash screen, выбора языка, выбор компонентов для установки и более широкие возможности настройки по сравнению со своим предшественником. Пример:
Код: Выделить весь код
 # Пример скрипта с Modern UI
 !include MUI.nsh
 Name "Example 2"
 OutFile Example2.exe
 !insertmacro MUI_PAGE_WELCOME
 !insertmacro MUI_PAGE_LICENSE "license.rtf"
 !insertmacro MUI_PAGE_DIRECTORY
 !insertmacro MUI_PAGE_COMPONENTS
 !insertmacro MUI_PAGE_INSTFILES
 !insertmacro MUI_PAGE_FINISH
 !insertmacro MUI_LANGUAGE "English"
 !insertmacro MUI_LANGUAGE "German"
 !insertmacro MUI_LANGUAGE "French"
 Section "Extract makensis"
  SetOutPath $INSTDIR
  File ..\makensis.exe
 SectionEnd
NSIS может быть расширен при помощи плагинов, которые могут быть написаны на C++, Си, и Delphi. Плагины могут быть использованы для улучшения функциональности и интерфейса инсталлятора. Плагины могут быть вызваны в любой части кода NSIS скрипта.

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

▫ Программы, использующие NSIS


◦ Антивирус Касперского
◦ Qip
◦ 3DNA Desktop
◦ 7-Zip
◦ ATI Display Driver
◦ CDex
◦ Dev-C++
◦ DivX
◦ eMule FileZilla
◦ Google Picasa
◦ Google Talk
◦ Intel C (компилятор)
◦ IrfanView
◦ LightAllow
◦ LyX
◦ Miranda IM Mozilla Firefox 2.0
◦ NASA World Wind
◦ Notepad++
◦ OpenOffice.org для Windows
◦ Pidgin
◦ VLC Player
◦ Winamp

● Чем я могу распаковать инсталлятор, созданный в NSIS?

В настоящее время инсталляторы NSIS не могут быть полностью декомпилированы. Сам инсталлятор не содержит в себе никаких функций для того, чтобы извлечь сценарий и/или файлы без инсталляции. Это - выбор разработчика, доступны ли исходный текст и/или файлы для инсталлятора для публики или нет. Есть, однако, внешние инструментальные средства, которые позволяют это сделать. 7-zip поддерживает частичную распаковку NSIS инсталляторов с алгоритмом сжатия lzma или bzip. Так же существует мульти-архивный плагин для TotalCommander.
Небольшая заметка для разработчиков: используйте DCryptDll, если хотите скрыть некоторые файлы в вашей инсталляции.


===========
тема прикрепляется, шапка будет дорабатыватся... Volk1234, hb860

Отправлено: 23:35, 17-06-2006

 

Ветеран


Сообщения: 602
Благодарности: 1

Профиль | Отправить PM | Цитировать


Прочитал
Код: Выделить весь код
Часто возникает необходимость перезагрузки после инсталляции вашего приложения. Данная поддержка включается,
если у вас в инсталляторе включен флаг:


Код: Выделить весь код
SetRebootFlag true
Код: Выделить весь код
Так же, включается поддержка, если во время инсталяции, нужно удалить файл,
но файл, по каким либо причинам не удаляется, или вам нужно этот файл удалить после перегрузки ПК.


Код: Выделить весь код
Delete /REBOOTOK файл
А можно сделать так чтобы установщик после установки/удаления показывал сообщение о том что необходим перезапуск?

Можно ли использовать вместе /r и /REBOOTOK?

-------
Танцы с бубнами не помогут.


Отправлено: 16:53, 27-10-2012 | #3311



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


CrashTest, последнее китайское предупреждение!
Оформление->Интерфейс Модерн->» Страница "Завершения"
===
Прежде, чем писать тысячу раз подумайте, а стоит ли?
А вот шапку темы стоит почитать:
ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов:
Справочник по NSIS - создан силами нашего сообщества.

---
на глупый вопрос - глупый ответ...

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.


Отправлено: 17:15, 27-10-2012 | #3312


Ветеран


Сообщения: 602
Благодарности: 1

Профиль | Отправить PM | Цитировать


kotkovets, я прочитал в справке много чего. а именно
Код: Выделить весь код
Оформление->Интерфейс Модерн->» Страница "Завершения"
свой ответ не нашел.

в самом начале вы с удовольствием отвечали на самые откровенные идиотские вопросы и улыбались. я спрашиваю потому что этого не могу найти.
если это написано - просто скажите где. не проще будет? и все будут счастливы. глупый вопрос для вас.

-------
Танцы с бубнами не помогут.


Отправлено: 17:36, 27-10-2012 | #3313


Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


Цитата CrashTest:
просто скажите где. не проще будет? и все будут счастливы. глупый вопрос для вас. »
здесь не форум смазливых барышень, а компьютерный форум...
Цитата CrashTest:
свой ответ не нашел. »
вот я нашел, в вам религия не позволяет?
» IfRebootFlag: определяет флаг перезагрузки
---
прошу сюда не писать, а читать - полезнее будет - именно для вас персольно.

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.


Отправлено: 18:01, 27-10-2012 | #3314

yyv yyv вне форума

Пользователь


Сообщения: 58
Благодарности: 1

Профиль | Отправить PM | Цитировать


как в НСИС в не юникодной сборке показать список?
В том смысле, что поставить точки, кружочки или галочки какие нить перед каждым элементом (сейчас использую тире, но это немного не устраивает)
конкретизирую, как в НСИС использовать Hex escape?
и еще...
Можно ли в нсис "украшать" MessageBox? вставить картинку, изменить размер, переименовать кнопки? или возможность использовать не стандартные сообщения? Может существуют какие нибудь плагины?

Последний раз редактировалось yyv, 29-10-2012 в 15:27.


Отправлено: 15:06, 29-10-2012 | #3315


Ветеран


Сообщения: 602
Благодарности: 1

Профиль | Отправить PM | Цитировать


есть чекбокс который устанавливает дополнительные файлы надо чтобы при удаление срабатывало условие если если это отмечено - удалять дополнительные файлы. если нет - то нет. делал это в секции Uninstall что то не работает.

-------
Танцы с бубнами не помогут.


Отправлено: 20:37, 29-10-2012 | #3316

MKN MKN вне форума

Ветеран


Сообщения: 2358
Благодарности: 559

Профиль | Отправить PM | Цитировать


Цитата CrashTest:
в секции Uninstall что то не работает »
И не должно. Как уже сто раз говорили, install.exe и uninstall.exe - две разные программы.
Если нужны зависимости при удалении, то можно добавить MUI_UNPAGE_COMPONENTS или, что ещё проще, запрос-сообщение перед удалением - что удалять, а что нет. И удалять, согласно выбора (сообразно индетификаторов кнопок).

Последний раз редактировалось MKN, 30-10-2012 в 13:46.


Отправлено: 13:40, 30-10-2012 | #3317


Старожил


Сообщения: 176
Благодарности: 5

Профиль | Отправить PM | Цитировать


kotkovets, подскажите...
Код: Выделить весь код
${Switch} ${extenstion}
	${Case} "ASF"
			StrCpy $IconIndex 0
			${Break}

		${Case} "AVI"
			StrCpy $IconIndex 2
			${Break}

		${Case} "WMV"
			StrCpy $IconIndex 17
			${Break}

		${Case} "FLV"
			StrCpy $IconIndex 111
			${Break}

		${Case} "MKV"
			StrCpy $IconIndex 30
			${Break}

		${Case} "MOV"
			StrCpy $IconIndex 8
			${Break}

		${Case} "3GP"
			StrCpy $IconIndex 48
			${Break}

		${Case} "DIVX"
			StrCpy $IconIndex 56
			${Break}

		${Case} "MP4"
			StrCpy $IconIndex 43
			${Break}

		${Case} "MPG"
			StrCpy $IconIndex 12
			${Break}

		${Case} "MPEG"
			StrCpy $IconIndex 11
			${Break}

		${Case} "MPE"
			StrCpy $IconIndex 10
			${Break}

		${Case} "DAT"
			StrCpy $IconIndex 3
			${Break}

		${Case} "VOB"
			StrCpy $IconIndex 14
			${Break}

		${Case} "IFO"
			StrCpy $IconIndex 40
			${Break}

		${Case} "M1V"
			StrCpy $IconIndex 4
			${Break}

		${Case} "M2V"
			StrCpy $IconIndex 5
			${Break}

		${Case} "M4V"
			StrCpy $IconIndex 70
			${Break}

		${Case} "MMS"
			StrCpy $IconIndex 14
			${Break}

		${Case} "OGM"
			StrCpy $IconIndex 29
			${Break}

		${Case} "QT"
			StrCpy $IconIndex 13
			${Break}

		${Case} "TS"
			StrCpy $IconIndex 99
			${Break}

		${Case} "VP6"
			StrCpy $IconIndex 101
			${Break}

		${Case} "XVID"
			StrCpy $IconIndex 109
			${Break}

		${Case} "3G2"
			StrCpy $IconIndex 47
			${Break}

		${Case} "TP"
			StrCpy $IconIndex 97
			${Break}

		${Case} "AVI-Neo"
			StrCpy $IconIndex 39
			${Break}

		${Case} "BIK"
			StrCpy $IconIndex 52
			${Break}

		${Case} "D2V"
			StrCpy $IconIndex 55
			${Break}

		${Case} "DRC"
			StrCpy $IconIndex 57
			${Break}

		${Case} "IFV"
			StrCpy $IconIndex 66
			${Break}

		${Case} "MP2V"
			StrCpy $IconIndex 78
			${Break}

		${Case} "MPV2"
			StrCpy $IconIndex 81
			${Break}

		${Case} "MQV"
			StrCpy $IconIndex 82
			${Break}

		${Case} "PART"
			StrCpy $IconIndex 86
			${Break}

		${Case} "PSS"
			StrCpy $IconIndex 87
			${Break}

		${Case} "ROQ"
			StrCpy $IconIndex 90
			${Break}

		${Case} "SMK"
			StrCpy $IconIndex 94
			${Break}

		${Case} "TPR"
			StrCpy $IconIndex 98
			${Break}

		${Case} "TRP"
			StrCpy $IconIndex 110
			${Break}

		${Case} "DVR-MS"
			StrCpy $IconIndex 114
			${Break}

		${Case} "GVI"
			StrCpy $IconIndex 115
			${Break}

		${Case} "NSV"
			StrCpy $IconIndex 117
			${Break}

		${Case} "PMP"
			StrCpy $IconIndex 118
			${Break}

		${Case} "VP7"
			StrCpy $IconIndex 120
			${Break}

		${Case} "VC1"
			StrCpy $IconIndex 138
			${Break}

		${Case} "264"
			StrCpy $IconIndex 127
			${Break}

		${Case} "H264"
			StrCpy $IconIndex 131
			${Break}
;....................................................................................
	; audio
		${Case} "MP3"
			StrCpy $IconIndex 9
			${Break}

		${Case} "AAC"
			StrCpy $IconIndex 42
			${Break}

		${Case} "WMA"
			StrCpy $IconIndex 16
			${Break}

		${Case} "CDA"
			StrCpy $IconIndex 54
			${Break}

		${Case} "FLAC"
			StrCpy $IconIndex 41
			${Break}

		${Case} "M4A"
			StrCpy $IconIndex 69
			${Break}

		${Case} "MID"
			StrCpy $IconIndex 6
			${Break}

		${Case} "MKA"
			StrCpy $IconIndex 72
			${Break}

		${Case} "MP2"
			StrCpy $IconIndex 77
			${Break}

		${Case} "MPA"
			StrCpy $IconIndex 79
			${Break}

		${Case} "MPC"
			StrCpy $IconIndex 45
			${Break}

		${Case} "APE"
			StrCpy $IconIndex 44
			${Break}

		${Case} "OFR"
			StrCpy $IconIndex 85
			${Break}

		${Case} "OGG"
			StrCpy $IconIndex 28
			${Break}

		${Case} "WV"
			StrCpy $IconIndex 121
			${Break}

		${Case} "AC3"
			StrCpy $IconIndex 46
			${Break}

		${Case} "DTS"
			StrCpy $IconIndex 58
			${Break}

		${Case} "WAV"
			StrCpy $IconIndex 15
			${Break}

		${Case} "AIFF"
			StrCpy $IconIndex 50
			${Break}

		${Case} "AIFC"
			StrCpy $IconIndex 49
			${Break}

		${Case} "AU"
			StrCpy $IconIndex 51
			${Break}

		${Case} "AMR"
			StrCpy $IconIndex 123
			${Break}

		${Case} "IT"
			StrCpy $IconIndex 65
			${Break}

		${Case} "M2A"
			StrCpy $IconIndex 68
			${Break}

		${Case} "MO3"
			StrCpy $IconIndex 75
			${Break}

		${Case} "MTM"
			StrCpy $IconIndex 83
			${Break}

		${Case} "S3M"
			StrCpy $IconIndex 93
			${Break}

		${Case} "MIDI"
			StrCpy $IconIndex 71
			${Break}

		${Case} "M1A"
			StrCpy $IconIndex 67
			${Break}

		${Case} "MOD"
			StrCpy $IconIndex 76
			${Break}

		${Case} "RMI"
			StrCpy $IconIndex 89
			${Break}

		${Case} "SND"
			StrCpy $IconIndex 95
			${Break}

		${Case} "UMX"
			StrCpy $IconIndex 100
			${Break}

		${Case} "XM"
			StrCpy $IconIndex 108
			${Break}

		${Case} "ARM"
			StrCpy $IconIndex 112
			${Break}

		${Case} "AVC-TS"
			StrCpy $IconIndex 113
			${Break}

		${Case} "SHN"
			StrCpy $IconIndex 119
			${Break}

		${Case} "WV"
			StrCpy $IconIndex 121
			${Break}

		${Case} "EC3"
			StrCpy $IconIndex 129
			${Break}

		${Case} "EAC3"
			StrCpy $IconIndex 128
			${Break}

		${Case} "EVO"
			StrCpy $IconIndex 130
			${Break}

		${Case} "LPCM"
			StrCpy $IconIndex 132
			${Break}

		${Case} "MLP"
			StrCpy $IconIndex 133
			${Break}

		${Case} "MT9"
			StrCpy $IconIndex 134
			${Break}

		${Case} "PCM"
			StrCpy $IconIndex 135
			${Break}

		${Case} "THD"
			StrCpy $IconIndex 139
			${Break}
;....................................................................................
	; subtitles

		${Case} "SMI"
			StrCpy $IconIndex 18
			${Break}

		${Case} "RT"
			StrCpy $IconIndex 31
			${Break}

		${Case} "SUB"
			StrCpy $IconIndex 32
			${Break}

		${Case} "IDX"
			StrCpy $IconIndex 33
			${Break}

		${Case} "ASS"
			StrCpy $IconIndex 34
			${Break}

		${Case} "SSA"
			StrCpy $IconIndex 35
			${Break}

		${Case} "RSB"
			StrCpy $IconIndex 36
			${Break}

		${Case} "SRT"
			StrCpy $IconIndex 37
			${Break}

		${Case} "S2K"
			StrCpy $IconIndex 38
			${Break}

		${Case} "MKS"
			StrCpy $IconIndex 73
			${Break}
;....................................................................................
	; playlists
		${Case} "ASX"
			StrCpy $IconIndex 1
			${Break}

		${Case} "WAX"
			StrCpy $IconIndex 102
			${Break}

		${Case} "M3U"
			StrCpy $IconIndex 20
			${Break}

		${Case} "PLS"
			StrCpy $IconIndex 19
			${Break}

		${Case} "WMX"
			StrCpy $IconIndex 105
			${Break}

		${Case} "WPL"
			StrCpy $IconIndex 106
			${Break}

		${Case} "WVX"
			StrCpy $IconIndex 107
			${Break}

;....................................................................................
	; real media
		${Case} "RA"
			StrCpy $IconIndex 21
			${Break}

		${Case} "RM"
			StrCpy $IconIndex 22
			${Break}

		${Case} "RMJ"
			StrCpy $IconIndex 23
			${Break}

		${Case} "RMS"
			StrCpy $IconIndex 24
			${Break}

		${Case} "RAM"
			StrCpy $IconIndex 25
			${Break}

		${Case} "RMM"
			StrCpy $IconIndex 26
			${Break}

		${Case} "RMVB"
			StrCpy $IconIndex 27
			${Break}

		${Case} "RPM"
			StrCpy $IconIndex 91
			${Break}

		${Case} "RV"
			StrCpy $IconIndex 82
			${Break}

;....................................................................................
	; other
		${Case} "FLC"
			StrCpy $IconIndex 59
			${Break}

		${Case} "FLI"
			StrCpy $IconIndex 60
			${Break}

		${Case} "FLIC"
			StrCpy $IconIndex 61
			${Break}

		${Case} "PVA"
			StrCpy $IconIndex 88
			${Break}

		${Case} "SWF"
			StrCpy $IconIndex 96
			${Break}

		${Case} "WM"
			StrCpy $IconIndex 103
			${Break}

		${Case} "K3G"
			StrCpy $IconIndex 122
			${Break}

		${Case} "M2T"
			StrCpy $IconIndex 124
			${Break}

		${Case} "MTS"
			StrCpy $IconIndex 125
			${Break}

		${Case} "SKM"
			StrCpy $IconIndex 126
			${Break}

		${Case} "PMF"
			StrCpy $IconIndex 136
			${Break}

		${Case} "M2TS"
			StrCpy $IconIndex 116
			${Break}

		${Case} "KPL"
			StrCpy $IconIndex 0
			${Break}

		${Case} "KSF"
			StrCpy $IconIndex 0
			${Break}
При вставке такого кода компилятор выдает ошибку Out of memory скрипт загрузить весь не могу много символов в чем может быть проблему!

Вот как бы полная часть кода
Код: Выделить весь код
!macro RegisterExtension extenstion 
	;create a class for extesion
	StrCpy $ClassName "The KMPlayer.${extenstion}"
	WriteRegStr HKCR "${extenstion}" "" "$ClassName"
	DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${extenstion}\UserChoice"
	WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${extenstion}\UserChoice" "Progid" "$ClassName"
  noaudio:*/
	WriteRegStr HKCR ".${extenstion}" "" "$ClassName"
	DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice"
	WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" "Progid" "$ClassName"
	WriteRegStr HKCR "$ClassName\shell\open" "" "Îòêðûòü â KMPlayer"
	WriteRegStr HKCR "$ClassName\shell\open\command" "" "$OpenCommand"
	${Switch} ${extenstion}
	${Case} "ASF"
			StrCpy $IconIndex 0
			${Break}

		${Case} "AVI"
			StrCpy $IconIndex 2
			${Break}

		${Case} "WMV"
			StrCpy $IconIndex 17
			${Break}

		${Case} "FLV"
			StrCpy $IconIndex 111
			${Break}

		${Case} "MKV"
			StrCpy $IconIndex 30
			${Break}

		${Case} "MOV"
			StrCpy $IconIndex 8
			${Break}

		${Case} "3GP"
			StrCpy $IconIndex 48
			${Break}

		${Case} "DIVX"
			StrCpy $IconIndex 56
			${Break}

		${Case} "MP4"
			StrCpy $IconIndex 43
			${Break}

		${Case} "MPG"
			StrCpy $IconIndex 12
			${Break}

		${Case} "MPEG"
			StrCpy $IconIndex 11
			${Break}

		${Case} "MPE"
			StrCpy $IconIndex 10
			${Break}

		${Case} "DAT"
			StrCpy $IconIndex 3
			${Break}

		${Case} "VOB"
			StrCpy $IconIndex 14
			${Break}

		${Case} "IFO"
			StrCpy $IconIndex 40
			${Break}

		${Case} "M1V"
			StrCpy $IconIndex 4
			${Break}

		${Case} "M2V"
			StrCpy $IconIndex 5
			${Break}

		${Case} "M4V"
			StrCpy $IconIndex 70
			${Break}

		${Case} "MMS"
			StrCpy $IconIndex 14
			${Break}

		${Case} "OGM"
			StrCpy $IconIndex 29
			${Break}

		${Case} "QT"
			StrCpy $IconIndex 13
			${Break}

		${Case} "TS"
			StrCpy $IconIndex 99
			${Break}

		${Case} "VP6"
			StrCpy $IconIndex 101
			${Break}

		${Case} "XVID"
			StrCpy $IconIndex 109
			${Break}

		${Case} "3G2"
			StrCpy $IconIndex 47
			${Break}

		${Case} "TP"
			StrCpy $IconIndex 97
			${Break}

		${Case} "AVI-Neo"
			StrCpy $IconIndex 39
			${Break}

		${Case} "BIK"
			StrCpy $IconIndex 52
			${Break}

		${Case} "D2V"
			StrCpy $IconIndex 55
			${Break}

		${Case} "DRC"
			StrCpy $IconIndex 57
			${Break}

		${Case} "IFV"
			StrCpy $IconIndex 66
			${Break}

		${Case} "MP2V"
			StrCpy $IconIndex 78
			${Break}

		${Case} "MPV2"
			StrCpy $IconIndex 81
			${Break}

		${Case} "MQV"
			StrCpy $IconIndex 82
			${Break}

		${Case} "PART"
			StrCpy $IconIndex 86
			${Break}

		${Case} "PSS"
			StrCpy $IconIndex 87
			${Break}

		${Case} "ROQ"
			StrCpy $IconIndex 90
			${Break}

		${Case} "SMK"
			StrCpy $IconIndex 94
			${Break}

		${Case} "TPR"
			StrCpy $IconIndex 98
			${Break}

		${Case} "TRP"
			StrCpy $IconIndex 110
			${Break}

		${Case} "DVR-MS"
			StrCpy $IconIndex 114
			${Break}

		${Case} "GVI"
			StrCpy $IconIndex 115
			${Break}

		${Case} "NSV"
			StrCpy $IconIndex 117
			${Break}

		${Case} "PMP"
			StrCpy $IconIndex 118
			${Break}

		${Case} "VP7"
			StrCpy $IconIndex 120
			${Break}

		${Case} "VC1"
			StrCpy $IconIndex 138
			${Break}

		${Case} "264"
			StrCpy $IconIndex 127
			${Break}

		${Case} "H264"
			StrCpy $IconIndex 131
			${Break}
;....................................................................................
	; audio
		${Case} "MP3"
			StrCpy $IconIndex 9
			${Break}

		${Case} "AAC"
			StrCpy $IconIndex 42
			${Break}

		${Case} "WMA"
			StrCpy $IconIndex 16
			${Break}

		${Case} "CDA"
			StrCpy $IconIndex 54
			${Break}

		${Case} "FLAC"
			StrCpy $IconIndex 41
			${Break}

		${Case} "M4A"
			StrCpy $IconIndex 69
			${Break}

		${Case} "MID"
			StrCpy $IconIndex 6
			${Break}

		${Case} "MKA"
			StrCpy $IconIndex 72
			${Break}

		${Case} "MP2"
			StrCpy $IconIndex 77
			${Break}

		${Case} "MPA"
			StrCpy $IconIndex 79
			${Break}

		${Case} "MPC"
			StrCpy $IconIndex 45
			${Break}

		${Case} "APE"
			StrCpy $IconIndex 44
			${Break}

		${Case} "OFR"
			StrCpy $IconIndex 85
			${Break}

		${Case} "OGG"
			StrCpy $IconIndex 28
			${Break}

		${Case} "WV"
			StrCpy $IconIndex 121
			${Break}

		${Case} "AC3"
			StrCpy $IconIndex 46
			${Break}

		${Case} "DTS"
			StrCpy $IconIndex 58
			${Break}

		${Case} "WAV"
			StrCpy $IconIndex 15
			${Break}

		${Case} "AIFF"
			StrCpy $IconIndex 50
			${Break}

		${Case} "AIFC"
			StrCpy $IconIndex 49
			${Break}

		${Case} "AU"
			StrCpy $IconIndex 51
			${Break}

		${Case} "AMR"
			StrCpy $IconIndex 123
			${Break}

		${Case} "IT"
			StrCpy $IconIndex 65
			${Break}

		${Case} "M2A"
			StrCpy $IconIndex 68
			${Break}

		${Case} "MO3"
			StrCpy $IconIndex 75
			${Break}

		${Case} "MTM"
			StrCpy $IconIndex 83
			${Break}

		${Case} "S3M"
			StrCpy $IconIndex 93
			${Break}

		${Case} "MIDI"
			StrCpy $IconIndex 71
			${Break}

		${Case} "M1A"
			StrCpy $IconIndex 67
			${Break}

		${Case} "MOD"
			StrCpy $IconIndex 76
			${Break}

		${Case} "RMI"
			StrCpy $IconIndex 89
			${Break}

		${Case} "SND"
			StrCpy $IconIndex 95
			${Break}

		${Case} "UMX"
			StrCpy $IconIndex 100
			${Break}

		${Case} "XM"
			StrCpy $IconIndex 108
			${Break}

		${Case} "ARM"
			StrCpy $IconIndex 112
			${Break}

		${Case} "AVC-TS"
			StrCpy $IconIndex 113
			${Break}

		${Case} "SHN"
			StrCpy $IconIndex 119
			${Break}

		${Case} "WV"
			StrCpy $IconIndex 121
			${Break}

		${Case} "EC3"
			StrCpy $IconIndex 129
			${Break}

		${Case} "EAC3"
			StrCpy $IconIndex 128
			${Break}

		${Case} "EVO"
			StrCpy $IconIndex 130
			${Break}

		${Case} "LPCM"
			StrCpy $IconIndex 132
			${Break}

		${Case} "MLP"
			StrCpy $IconIndex 133
			${Break}

		${Case} "MT9"
			StrCpy $IconIndex 134
			${Break}

		${Case} "PCM"
			StrCpy $IconIndex 135
			${Break}

		${Case} "THD"
			StrCpy $IconIndex 139
			${Break}
;....................................................................................
	; subtitles

		${Case} "SMI"
			StrCpy $IconIndex 18
			${Break}

		${Case} "RT"
			StrCpy $IconIndex 31
			${Break}

		${Case} "SUB"
			StrCpy $IconIndex 32
			${Break}

		${Case} "IDX"
			StrCpy $IconIndex 33
			${Break}

		${Case} "ASS"
			StrCpy $IconIndex 34
			${Break}

		${Case} "SSA"
			StrCpy $IconIndex 35
			${Break}

		${Case} "RSB"
			StrCpy $IconIndex 36
			${Break}

		${Case} "SRT"
			StrCpy $IconIndex 37
			${Break}

		${Case} "S2K"
			StrCpy $IconIndex 38
			${Break}

		${Case} "MKS"
			StrCpy $IconIndex 73
			${Break}
;....................................................................................
	; playlists
		${Case} "ASX"
			StrCpy $IconIndex 1
			${Break}

		${Case} "WAX"
			StrCpy $IconIndex 102
			${Break}

		${Case} "M3U"
			StrCpy $IconIndex 20
			${Break}

		${Case} "PLS"
			StrCpy $IconIndex 19
			${Break}

		${Case} "WMX"
			StrCpy $IconIndex 105
			${Break}

		${Case} "WPL"
			StrCpy $IconIndex 106
			${Break}

		${Case} "WVX"
			StrCpy $IconIndex 107
			${Break}

;....................................................................................
	; real media
		${Case} "RA"
			StrCpy $IconIndex 21
			${Break}

		${Case} "RM"
			StrCpy $IconIndex 22
			${Break}

		${Case} "RMJ"
			StrCpy $IconIndex 23
			${Break}

		${Case} "RMS"
			StrCpy $IconIndex 24
			${Break}

		${Case} "RAM"
			StrCpy $IconIndex 25
			${Break}

		${Case} "RMM"
			StrCpy $IconIndex 26
			${Break}

		${Case} "RMVB"
			StrCpy $IconIndex 27
			${Break}

		${Case} "RPM"
			StrCpy $IconIndex 91
			${Break}

		${Case} "RV"
			StrCpy $IconIndex 82
			${Break}

;....................................................................................
	; other
		${Case} "FLC"
			StrCpy $IconIndex 59
			${Break}

		${Case} "FLI"
			StrCpy $IconIndex 60
			${Break}

		${Case} "FLIC"
			StrCpy $IconIndex 61
			${Break}

		${Case} "PVA"
			StrCpy $IconIndex 88
			${Break}

		${Case} "SWF"
			StrCpy $IconIndex 96
			${Break}

		${Case} "WM"
			StrCpy $IconIndex 103
			${Break}

		${Case} "K3G"
			StrCpy $IconIndex 122
			${Break}

		${Case} "M2T"
			StrCpy $IconIndex 124
			${Break}

		${Case} "MTS"
			StrCpy $IconIndex 125
			${Break}

		${Case} "SKM"
			StrCpy $IconIndex 126
			${Break}

		${Case} "PMF"
			StrCpy $IconIndex 136
			${Break}

		${Case} "M2TS"
			StrCpy $IconIndex 116
			${Break}

		${Case} "KPL"
			StrCpy $IconIndex 0
			${Break}

		${Case} "KSF"
			StrCpy $IconIndex 0
			${Break}
;....................................................................................
	; ddefault icon
		${Default}
			StrCpy $IconIndex 0
			${Break}

	${EndSwitch}
  WriteRegStr HKCR "$ClassName\DefaultIcon" "" "$IconFile,$IconIndex"
!macroend

!macro UnRegisterExtension extenstion
  StrCpy $ClassName "The KMPlayer.${extenstion}"
	ReadRegStr $0 HKCR "${extenstion}" ""
	StrCmp $0	$ClassName 0 +2
	DeleteRegKey HKCR "$ClassName"
	ReadRegStr $0 HKCR "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${extenstion}\UserChoice" ""
	StrCmp $0	$ClassName 0 +2
	DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${extenstion}\UserChoice"

	ReadRegStr $0 HKCR ".${extenstion}" ""
  StrCmp $0	$ClassName 0 +2
  DeleteRegKey HKCR "$ClassName"

  ReadRegStr $0 HKCR "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" ""
  StrCmp $0	$ClassName 0 +2
  DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice"
!macroend

Последний раз редактировалось diakov, 02-11-2012 в 00:28.


Отправлено: 23:13, 01-11-2012 | #3318


Старожил


Сообщения: 176
Благодарности: 5

Профиль | Отправить PM | Цитировать


Получается что скрипт как бы зацикливаться на данном участке кода

Соответственно к чекбоксу привязал так
Код: Выделить весь код
Section "-VIDEO"
  ${If} $Check1 == 1

			!insertmacro RegisterExtension ASF

			!insertmacro RegisterExtension AVI

			!insertmacro RegisterExtension "WMV"

			!insertmacro RegisterExtension "FLV"

			!insertmacro RegisterExtension "MKV"

			!insertmacro RegisterExtension "MOV"

			!insertmacro RegisterExtension "3GP"

			!insertmacro RegisterExtension "DIVX"

			!insertmacro RegisterExtension "MP4"

			!insertmacro RegisterExtension "MPG"

		!insertmacro RegisterExtension "MPEG"

			!insertmacro RegisterExtension "MPE"

			!insertmacro RegisterExtension "DAT"

			!insertmacro RegisterExtension "VOB"

			!insertmacro RegisterExtension "IFO"

			!insertmacro RegisterExtension "M1V"

			!insertmacro RegisterExtension "M2V"

			!insertmacro RegisterExtension "M4V"

			!insertmacro RegisterExtension "MMS"

			!insertmacro RegisterExtension "OGM"

			!insertmacro RegisterExtension "QT"

			!insertmacro RegisterExtension "TS"

			!insertmacro RegisterExtension "VP6"

			!insertmacro RegisterExtension "XVID"

			!insertmacro RegisterExtension "3G2"

			!insertmacro RegisterExtension "TP"

			!insertmacro RegisterExtension "AVI-Neo"

			!insertmacro RegisterExtension "BIK"

			!insertmacro RegisterExtension "D2V"

			!insertmacro RegisterExtension "DRC"

			!insertmacro RegisterExtension "IFV"

			!insertmacro RegisterExtension "MP2V"

			!insertmacro RegisterExtension "MPV2"

			!insertmacro RegisterExtension "MQV"

			!insertmacro RegisterExtension "PART"

			!insertmacro RegisterExtension "PSS"

			!insertmacro RegisterExtension "ROQ"

			!insertmacro RegisterExtension "SMK"

			!insertmacro RegisterExtension "TPR"

			!insertmacro RegisterExtension "TRP"

			!insertmacro RegisterExtension "DVR-MS"

			!insertmacro RegisterExtension "GVI"

			!insertmacro RegisterExtension "NSV"

			!insertmacro RegisterExtension "PMP"

			!insertmacro RegisterExtension "VP7"

			!insertmacro RegisterExtension "264"

			!insertmacro RegisterExtension "H264"

			!insertmacro RegisterExtension "VC1"
      ${EndIf}

Отправлено: 00:23, 02-11-2012 | #3319


Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


Цитата diakov:
При вставке такого кода компилятор выдает ошибку Out of memory скрипт загрузить весь не могу много символов в чем может быть проблему! »
В редакторе HM NIS переполнение...
компилируйте с помощью - makensisw.exe
или сразу консолью - makensis.exe

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:22, 02-11-2012 | #3320



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Мультимедиа - WinAmp .:[ обсуждение всех версий ]:. ssaram Программное обеспечение Windows 406 12-02-2022 19:45
WinstyleMonitor .:[все вопросы]:. Mr dUSHA Проект WinStyle 331 12-02-2014 13:15
Delphi - Delphi .: [все вопросы] :. Serega Программирование и базы данных 94 04-05-2013 18:45
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. Microsoft Windows 2000/XP 105 30-06-2010 11:58
Вопросы по создателю инсталляций NSIS MaxDELETE Программное обеспечение Windows 14 04-07-2007 10:01




 
Переход