|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70, да все правильно, че создавать ключ UserChoice в XP?(мое мнение), так как этот ключ предназначен для линейки NT6.x имеют такую функциональность, как "Программы по умолчанию"
А и WinXP - это линейка NT5.x А значит, только XP здесь не обойдешься, а у меня WinXp x64 еще - и по скрипту создаться ключ. Нужно так определять версию NT(без внешних плагинов): !include "WinVer.nsh" -- -- !macro RegisterExtension extenstion StrCpy $ClassName "VLC.${extenstion}" WriteRegStr HKLM "SOFTWARE\Classes\.${extenstion}" "" "$ClassName" ${WinVerGetMajor} $R0 ;определяем старшую цифру Windows IntCmp $R0 5 +4 +4 0 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}" "Progid" "$ClassName" DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" "Progid" "$ClassName" ; WriteRegStr HKLM "SOFTWARE\Classes\$ClassName\shell" "" "Open" WriteRegStr HKLM "SOFTWARE\Classes\$ClassName\shell\Open" "" "Воспроизвести" WriteRegStr HKLM "SOFTWARE\Classes\$ClassName\shell\Open\command" "" "$OpenCommand" ; ; !macroend |
------- Последний раз редактировалось kotkovets, 11-07-2011 в 21:32. Отправлено: 16:53, 11-07-2011 | #1331 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Затирая Progid установленной программы, затем удалив новую, мы не восстанавливаем прежних ассоциаций, и придется старую прогу переустанавливать.. или копаться с регистрацией типов из самой проги. Где нибудь можно почитать по бэкап для таких случаев? Да и в HKLM "SOFTWARE\Classes\.${extenstion}" "" "$ClassName" тоже бэкапить надо, если по уму все делать. |
|
------- Отправлено: 17:32, 11-07-2011 | #1332 |
Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
Прямо в той же ветке следует создавать новый : WriteRegStr HKLM "SOFTWARE\Classes\.${extenstion}" "" "$ClassName_Bak" или "$ClassName_Undo" или как вам угодно, но понятно. WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}" "$ClassName_Bak" или "Progid_Bak" При деинсталляции прочитает из него, восстановит и удалится. |
|
Отправлено: 21:36, 11-07-2011 | #1333 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата sawe:
|
|
------- Последний раз редактировалось wolkow70, 12-07-2011 в 11:44. Отправлено: 11:37, 12-07-2011 | #1334 |
Старожил Сообщения: 166
|
Профиль | Отправить PM | Цитировать Прошу помочь с IIS 6...
1. Необходимо создать "Виртуальный каталог" в существующем Веб-узле; (использовал ExecWait 'cscript "$SYSDIR\iisvdir.vbs" /Create "SiteName" moodle C:\moodle\web') 2. В свойствах созданного вирт-каталога установить "Разрешен запуск: Только сценарии"; (по умолчанию этот параметр выбран, но хотелось бы подстраховаться) 3. В свойствах созданного вирт-каталога установить "Задать страницу содержания по умолчанию" - index.php; 4. В свойствах сайта добавить сопоставление расширений: расширение - php; путь - "C:\Windows\system32\inetsrv\fcgiext.dll"; команды - "GET,POST,HEAD" (сократитьь до) Спасибо! |
Отправлено: 17:38, 14-07-2011 | #1335 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
Цитата kotkovets:
прописывается: DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" "Progid" "$ClassName" и не прописывается: WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}" "Progid" "$ClassName" ; ; Тут еще возникла идейка при установке на XP WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}" "Progid" "$ClassName" прописывать по выбору Пользователя. Пока сделал так: Section "Особые параметры сопоставления файлов" ProgID SectionIn 1 2 WriteINIStr "$temp\tmpfile.dat" "tmp" "execute_1" "1" SectionEnd В макросе: ReadINIStr $0 "$temp\tmpfile.dat" "tmp" "execute_1" StrCmp $0 "1" 0 +2 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}" "Progid" "$ClassName" Может можно как то по другому без временного файла привязать комманду к значению определенной секции (более красиво)? |
|
------- Последний раз редактировалось wolkow70, 18-07-2011 в 11:47. Отправлено: 11:40, 18-07-2011 | #1336 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
Цитата wolkow70:
Особенно про StrCpy - оператор присваивания... var ProgID Function .OnInit StrCpy $ProgID 0 #на всяк случай иницилизируем переменную, помещаем в 0 FunctionEnd Section "Особые параметры сопоставления файлов" ProgID SectionIn 1 2 StrCpy $ProgID 1 SectionEnd #StrCmp $ProgID 1 0 +2 #WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}" "Progid" "$ClassName" |
||
------- Последний раз редактировалось kotkovets, 18-07-2011 в 14:22. Отправлено: 14:17, 18-07-2011 | #1337 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Для win 7 это не имеет значения. Там это правило. А с приоритетом ставится через UserChoice. |
|
------- Последний раз редактировалось wolkow70, 18-07-2011 в 15:40. Отправлено: 15:34, 18-07-2011 | #1338 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Товарищи, вопрос возник интересный.
Имею в скрипте такие секции: Section "Хранить настройки программы в реестре" Registry SectionIn 1 2 3 WriteRegDWORD HKCU "Software\Daum\PotPlayerMini\Settings" "CheckAutoUpdate" 0x0 ; бла-бла ; бла-бла SectionEnd Section /o "Хранить настройки программы в INI файле" Ini SectionIn 1 2 3 IfFileExists "$EXEDIR\PotPlayerMini.ini" 0 NoThere IfSilent +2 MessageBox MB_OK "Файл настроек есть, он будет скопирован в директорию установки" CopyFiles /silent "$EXEDIR\PotPlayerMini.ini" "$INSTDIR\PotPlayerMini.ini" Goto Done NoThere: IfSilent +2 MessageBox MB_OK "Файла настроек нет, он будет создан в минимальной конфигурации" SetOutPath "$INSTDIR" WriteINIStr "$INSTDIR\PotPlayerMini.ini" "Settings" "CheckAutoUpdate" "0" ; бла ; бла Done: SectionEnd ; Function .onSelChange !insertmacro StartRadioButtons $1 !insertmacro RadioButton ${Registry} !insertmacro RadioButton ${Ini} !insertmacro EndRadioButtons FunctionEnd Section /o "Хранить настройки программы в INI файле" Ini Вопрос в связи с с этим возник такой: возможно ли включить секцию /o в полный тип установки, если она входит в функцию .onSelChange ? |
------- Отправлено: 16:56, 18-07-2011 | #1339 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70,
1. А что мешает создать свою страничку с двумя радиобутонами? 2. И флаги выбора типа установки в этих секциях расставлять смысла нет, здесь выбор опциональный - захотел настройки в реестре или в ini файле. |
------- Отправлено: 17:12, 18-07-2011 | #1340 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|