|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать Я сам спрашивал по этой теме, но пока не получил ответ, брал основу с Wansis plug-in.
Или вот этот пример я перевёл, демонстрация NSIS плагина Wansis.dll . Есть такой SkinCrafter plug-in, пример его использования описан в Справочнике по NSIS, плагин красивый но совершенно бесполезен для компактных пакетов. Можешь попробовать UltraModernUI или SkinnedControls plug-in ButtonEvent plug-in nsDialogs_setImageOle.nsh или заполнение картинкой Image in installer window background вот я спрашивал по использованию этой картинки по этой же теме |
Отправлено: 23:02, 06-06-2011 | #1241 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 126
|
Профиль | Отправить PM | Цитировать Flix,
Цитата:
Скины в ней тоже можно свои клепать, насколько я помню... |
|
Отправлено: 05:16, 07-06-2011 | #1242 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать sawe, MaGoth - спасибо, что отозвались. Теперь буду изучать матчасть.
|
Отправлено: 11:21, 07-06-2011 | #1243 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Уважаемый kotkovets, может быть Вы дадите точную интерпретацию таким строкам из скрипта AIMP:
StrCpy $ClassName "AIMP.${extenstion}" StrCmp ${extenstion} "AUDIOCD" 0 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" noaudio: WriteRegStr HKCR ".${extenstion}" "" "$ClassName" Смущает вот, что : WriteRegStr HKCR "${extenstion}" "" "$ClassName" WriteRegStr HKCR ".${extenstion}" "" "$ClassName" Интуитивно я понял, что это связано с наличием расширения AUDIOCD, так? |
------- Отправлено: 15:37, 09-06-2011 | #1244 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
!macro RegisterExtension extenstion StrCpy $ClassName "AIMP.${extenstion}" StrCmp ${extenstion} "AUDIOCD" 0 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" noaudio: ;--- ;--- !macroend StrCmp ${extenstion} "AUDIOCD" 0 noaudio - если заданное расширение AUDIOCD, то по скрипту выполнить 3 команды, иначе перейти к метке noaudio (перепрыгнуть через три команды по скрипту). Цитата wolkow70:
$ClassName -> равносильно AIMP.${extenstion} команда явно жежь указана - StrCpy $ClassName "AIMP.${extenstion}" . Просто сделано, чтобы покороче записывать в скрипте. Надеюсь понятно...если внимательно почитали и применили на практике |
||
------- Последний раз редактировалось kotkovets, 10-06-2011 в 00:20. Отправлено: 22:12, 09-06-2011 | #1245 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
WriteRegStr HKCR "${extenstion}" "" "$ClassName" WriteRegStr HKCR ".${extenstion}" "" "$ClassName" В первой строке нет точки перед ${extenstion} Во второй есть .${extenstion} Получается, что значение "$ClassName" меняется. Кстати, в скрипте KMPlayer так: StrCpy $ClassName "KMPlayer.${extenstion}" /* StrCmp ${extenstion} "AUDIOCD" 0 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" noaudio:*/ WriteRegStr HKCR ".${extenstion}" "" "$ClassName" То есть, если нет расширения AUDIOCD можно удалить эти строки? |
|
------- Последний раз редактировалось wolkow70, 10-06-2011 в 07:38. Отправлено: 07:32, 10-06-2011 | #1246 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
|
|
------- Отправлено: 09:16, 10-06-2011 | #1247 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
На китайском сайте скачал скрипт для Winamp. Такая секция автозапуска дисков: Section "Автозапуск CD дисков" CDAUTORUN SectionIn 1 2 3 SetOutPath "$INSTDIR" ReadRegStr $0 HKCR "AudioCD\shell\play\command" "" StrCpy $1 $0 "" 14 StrCmp $1 'Winamp.exe" %1' +3 WriteRegStr HKCR "AudioCD\shell\play\command" "Winamp_Back" $0 WriteRegStr HKCR "AudioCD\shell\play\command" "" '"$INSTDIR\Winamp.exe" %1' SectionEnd В принципе работает, создает запись для восстановления. Но при деинсталляции не удаляется и не восстанавливается, при таких строках скрипта: ReadRegStr $R0 HKCR “AudioCD\shell\play\command” “Winamp_Back” ${IfThen} $R0 != “” ${|} WriteRegStr HKCR “AudioCD\shell\play\command” “” $R0 ${|} DeleteRegValue HKCR “AudioCD\shell\play\command” “Winamp_Back” Не пойму, вообще в чем дело. Может Вам сразу видно? |
------- Отправлено: 13:35, 10-06-2011 | #1248 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Комментарии по командам
Цитата wolkow70:
Здесь очевидно, получаем путь к Winamp.exe Цитата wolkow70:
Пути разнообразные бывают, в итоге кашу получим. Для получения имени модуля делается так: Цитата wolkow70:
Если $R0 не равно пустому значению, тогда выполняем команду записи в реестр WriteRegStr HKCR "AudioCD\shell\play\command" "" $R0 - запись значения по умолчанию а дальше удаляется значение бэкапа реестра. |
|||
------- Отправлено: 14:31, 10-06-2011 | #1249 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
После инсталляции Winamp http://s005.radikal.ru/i210/1106/9f/6e07a91f9a43.jpg После деинсталляции Winamp http://s46.radikal.ru/i112/1106/2f/89f3d66f8abe.png В секции удаления так: ReadRegStr $R0 HKCR “AudioCD\shell\play\command" "Winamp_Back" ${IfThen} $R0 != "" ${|} WriteRegStr HKCR “AudioCD\shell\play\command" "" $R0 ${|} DeleteRegValue HKCR "AudioCD\shell\play\command" "Winamp_Back" |
|
------- Последний раз редактировалось wolkow70, 10-06-2011 в 15:40. Отправлено: 15:16, 10-06-2011 | #1250 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|