|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets
В общем, макрос дерегистрации в окончательном виде у меня вышел такой: !macro UnRegisterExtension extenstion ; Push $1 Push $2 ; StrCpy $ClassName "Winamp.File.${extenstion}" ; ReadRegStr $1 HKLM "SOFTWARE\Classes\.${extenstion}" "" StrCmp "$1" "$ClassName" 0 +2 DeleteRegValue HKLM "SOFTWARE\Classes\.${extenstion}" "" DeleteRegKey HKLM "SOFTWARE\Classes\$ClassName" ; ReadRegStr $2 HKLM "SOFTWARE\Classes\.${extenstion}" "Winamp_Back" DeleteRegValue HKLM "SOFTWARE\Classes\.${extenstion}" "Winamp_Back" StrCmp "$2" "$ClassName" +2 0 WriteRegStr HKLM "SOFTWARE\Classes\.${extenstion}" "" "$2" ; ReadRegStr $1 HKCU "Software\Classes\.${extenstion}" "" StrCmp "$1" "$ClassName" 0 +2 DeleteRegValue HKCU "Software\Classes\.${extenstion}" "" DeleteRegKey HKCU "Software\Classes\$ClassName" ; ReadRegStr $2 HKCU "Software\Classes\.${extenstion}" "Winamp_Back" DeleteRegValue HKCU "Software\Classes\.${extenstion}" "Winamp_Back" StrCmp "$2" "$ClassName" +2 0 WriteRegStr HKCU "Software\Classes\.${extenstion}" "" "$2" ; DeleteRegKey /ifempty HKCU "Software\Classes\.${extenstion}" ; ReadRegStr $1 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" "Progid" StrCmp "$1" "$ClassName" 0 +2 DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" ; ReadRegStr $2 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}" "Winamp_Back" DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}" "Winamp_Back" StrCmp "$2" "" +3 StrCmp "$2" "$ClassName" +2 0 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" "Progid" "$2" ; DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\OpenWithProgids" "$ClassName" ${DelRegValue} HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\OpenWithList" "winamp.exe" ; Pop $1 Pop $2 !macroend Файл ответов Winamp.ini по наименованию совпадает с подхватываемым файлом настроек Winamp.ini , что исключает их нахождение в одной директории. Думаю, как лучше выйти из положения, можно ли изменить наименование файла ответов? Или проще наименование файла изменить? |
------- Последний раз редактировалось wolkow70, 07-09-2011 в 18:37. Отправлено: 18:28, 07-09-2011 | #1611 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
|
|
------- Отправлено: 18:42, 07-09-2011 | #1612 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Думаю, надо наименование файла настроек изменить, но при копировании восстанавливать оригинальное наименование. Секция такая: Section "Конфигурация и базовые настройки программы" Settings SectionIn 1 2 3 4 ${GetSecWriteSucces} Settings ${If} $SUCCES_SECTION = 1 ${If} ${FileExists} "$EXEDIR\Winamp.ini" ${If} ${FileExists} "$INSTDIR\paths.ini" ExpandEnvStrings $R9 "%USERNAME%" MessageBox MB_OK 'Обнаружен файл настроек Winamp, он будет скопирован в папку учётной записи пользователя: "$R9"' /SD IDOK SetShellVarContext current CreateDirectory "$APPDATA\Winamp" CopyFiles /silent "$EXEDIR\Winamp.ini" "$APPDATA\Winamp\Winamp.ini" ${Else} MessageBox MB_OK "Обнаружен файл настроек Winamp, он будет скопирован в директорию установки" /SD IDOK CopyFiles /silent "$EXEDIR\Winamp.ini" "$INSTDIR\Winamp.ini" ${EndIf} ${Else} MessageBox MB_OK "Файл настроек Winamp не обнаружен, он будет создан в минимальной конфигурации" /SD IDOK ${If} ${FileExists} "$INSTDIR\paths.ini" SetShellVarContext current SetOutPath "$APPDATA\Winamp" ${Else} SetOutPath "$INSTDIR" ${EndIf} WriteINIStr "$OUTDIR\Winamp.ini" "WinampReg" "WAVer" "5.62" WriteINIStr "$OUTDIR\Winamp.ini" "WinampReg" "skin" "" WriteINIStr "$OUTDIR\Winamp.ini" "WinampReg" "Stats" "00000009,000000DF,000000DF,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000030,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000," WriteINIStr "$OUTDIR\Winamp.ini" "WinampReg" "NeedReg" "0" WriteINIStr "$OUTDIR\Winamp.ini" "Winamp" "utf8" "1" WriteINIStr "$OUTDIR\Winamp.ini" "Winamp" "skin" "" WriteINIStr "$OUTDIR\Winamp.ini" "Winamp" "newverchk" "0" WriteINIStr "$OUTDIR\Winamp.ini" "Winamp" "newverchk2" "0" WriteINIStr "$OUTDIR\Winamp.ini" "Winamp" "newverchk3" "11886" WriteINIStr "$OUTDIR\Winamp.ini" "Winamp" "uid" "BF6E26157956844CAB619C346A072AFF7D" WriteINIStr "$OUTDIR\Winamp.ini" "Winamp" "langpack" "Winamp-ru-ru.wlz" ${EndIf} ${EndIf} SectionEnd Забыл как файлы переименовывать при копировании |
|
------- Отправлено: 18:58, 07-09-2011 | #1613 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70, смотрю уже разбираетесь в конструкциях, явный прогресс...
с безусловными метками в раз бы запутались |
------- Отправлено: 19:12, 07-09-2011 | #1614 |
Пользователь Сообщения: 58
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
а то я умею менять текст на контролах, делать их активными/неактивными, показывать/убирать а вот смещать как не знаю... |
|
Отправлено: 14:06, 08-09-2011 | #1615 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата yyv:
Смотрим в папке NSIS файл Contrib\Modern UI 2\Pages\welcome.nsh |
|
------- Последний раз редактировалось kotkovets, 08-09-2011 в 19:13. Отправлено: 15:42, 08-09-2011 | #1616 |
Пользователь Сообщения: 58
|
Профиль | Отправить PM | Цитировать kotkovets,
Цитата kotkovets:
Я правильно принцип понял? |
|
Отправлено: 16:28, 08-09-2011 | #1617 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата yyv:
Сдвигая размер контролов - имеем возможность дополнить страничку приветствия - исключительно для удобства вот такая хитрость, причем такой способ, косвенно используют плагины для украшения NSIS |
|
------- Отправлено: 16:56, 08-09-2011 | #1618 |
Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Подправим! |
|
Отправлено: 18:30, 08-09-2011 | #1619 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
Нашел в своей конструкции макроса де-регистрации серьезную логическую ошибку StrCpy $ClassName "Winamp.File.${extenstion}" ; ReadRegStr $1 HKLM "SOFTWARE\Classes\.${extenstion}" "" StrCmp "$1" "$ClassName" 0 +2 DeleteRegValue HKLM "SOFTWARE\Classes\.${extenstion}" "" DeleteRegKey HKLM "SOFTWARE\Classes\$ClassName" ; ReadRegStr $2 HKLM "SOFTWARE\Classes\.${extenstion}" "Winamp_Back" DeleteRegValue HKLM "SOFTWARE\Classes\.${extenstion}" "Winamp_Back" StrCmp "$2" "$ClassName" +2 0 WriteRegStr HKLM "SOFTWARE\Classes\.${extenstion}" "" "$2" ReadRegStr $2 HKLM "SOFTWARE\Classes\.${extenstion}" "Winamp_Back" DeleteRegValue HKLM "SOFTWARE\Classes\.${extenstion}" "Winamp_Back" StrCmp "$2" "$ClassName" +2 0 WriteRegStr HKLM "SOFTWARE\Classes\.${extenstion}" "" "$2" вообще не должны выполняться.... . Думаю, как это сделать лучше... |
------- Отправлено: 17:59, 09-09-2011 | #1620 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|