|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Просмотрев на офф. сайте плагины которые работают с процессами, для себя посчитал наиболее удачный и даже лучший nsProcess.
Но ни один из них не умеет завершать оболочку системы, с ошибками работают в WIN7 и т.д Решил написать свой плагин, за основу взял вышеупомянутый плагин... В общем долго "мучил" свой проект. И вот что получилось: --- Плагин предназначен для ANSI версии NSIS, кроссплатформенный (х86/x64), только для систем Windows NT начиная от Win2000 и выше. Никаких дополнительных приложений, библиотек не требуется. Плагин полностью идентичен по функционалу стандартного диспетчера задач. (использованы не документированные функции Win API) 1. Поиск запущенного процесса 2. Запись в файл *.ini список процессов с идентификаторами 3. Получение полного пути запущенного процесса 4. Получение полного пути и командной строки запущенного процесса Если запущеный процесс не имеет аргументов командной строки, то получаем путь к процессу. Работает эта функция только с 32-битными процессами. Достойного рещения для 64-битных процессов пока не нашел. 5. Перезапуск с аргументами командной строки запущенного процесса. Перезапуск делается с задержкой в одну секунду. Естественно кроме, специфических процессов (служб и т.д). 64-битные процессы будут перезапущены без аргументов командной строки. Я категорически не рекомендую делать перезапуск системных процессов !!! Во избежания потерь данных и получения "синих" экранов смерти !!!! 6. Завершение процесса Я категорически не рекомендую "прибивать" системные процессы !!! Во избежания потерь данных и получения "синих" экранов смерти !!!! |
------- Последний раз редактировалось kotkovets, 12-06-2011 в 23:44. Отправлено: 18:24, 10-06-2011 | #1251 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
Ну Вы мне то подскажите, что у меня не так: 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" |
------- Отправлено: 10:18, 11-06-2011 | #1252 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
Получилось сделать удаление записи Winamp , а восстановление не получается. ReadRegStr $0 HKCR "AudioCD\shell\play\command" "" StrCmp $0 "$\"$PROGRAMFILES\Winamp\Winamp.exe$\" %1" 0 +2 DeleteRegValue HKCR "AudioCD\shell\play\command" "" |
------- Отправлено: 20:13, 11-06-2011 | #1253 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
че тут думать, если $0 не равно "$\"$PROGRAMFILES\Winamp\Winamp.exe$\" %1", то пропустить ниже две команды относительно оператора StrCmp, иначе выполнить две команды ReadRegStr $0 HKCR "AudioCD\shell\play\command" "" StrCmp $0 "$\"$PROGRAMFILES\Winamp\Winamp.exe$\" %1" 0 +3 DeleteRegValue HKCR "AudioCD\shell\play\command" "" ;здесь одна команда записи в реестр... или сделайте логическую конструкцию операторами лексиграфического сравнения. |
|
------- Отправлено: 00:00, 12-06-2011 | #1254 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
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" |
|
------- Отправлено: 07:00, 12-06-2011 | #1255 |
Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать Можно ли, создать кустомную страницу используя nsDialog для отображения страницы СтартМеню,
или альтернативный метод без использования плагина StartMenu.dll. |
Отправлено: 20:23, 15-06-2011 | #1256 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать можно на основе этих примеров: http://nsis.sourceforge.net/Header_file_for_Listview
Естественно нужно попотеть, изучить парочку функций WinApi |
------- Последний раз редактировалось kotkovets, 18-06-2011 в 22:11. Отправлено: 22:00, 15-06-2011 | #1257 |
Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать А более упрощённую, в одну линию, где только будет
${NSD_CreateDirRequest} и ${NSD_CreateBrowseButton} |
Отправлено: 22:49, 15-06-2011 | #1258 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Здравствуйте! помогите пожалуйста.
необходимо реализовать диалоговое окно в котором нужно указать фаил и скопировать его в дальнейшем в путь установки. Если уже обсуждалось извиняюсь не нашел( сам не совсем понимаю как вызвать диалог выбора файла.. с остальным в принципе понятно |
Отправлено: 14:47, 16-06-2011 | #1259 |
Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать Цитата funtykin:
!include MUI.nsh ; интерфейс MUI2.nsh не катит! SetCompressor /SOLID lzma XPStyle on Name "MMM" OutFile Test_file.exe InstallDir "$PROGRAMFILES\MMM" # папка установки по умолчанию! InstallDirRegKey HKLM "Software\MMM" "" # получить установку папки из реестра если доступно! RequestExecutionLevel user ;Спец страницы! !define MUI_PAGE_CUSTOMFUNCTION_PRE WelcomePageSetupLinkPre !define MUI_PAGE_CUSTOMFUNCTION_SHOW WelcomePageSetupLinkShow !define MUI_WELCOMEPAGE_TITLE "Вас приветствует установщик $(^Name)" !define MUI_TEXT_WELCOME_INFO_TEXT "Пожалуйста закройте все работающие приложения. \ $\nЭто обновит системные файлы без перезагрузки.$\n$\n$\nВыберите файл для вашей установки." ;Последовательность открытия страниц! !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE Russian Function WelcomePageSetupLinkPre var /global Filic StrCpy $Filic "$EXEDIR\Text.txt" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" 4 # счетчик увеличения! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" 100 # ограничение размера верхней метки! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Type" FileRequest # тип! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Text" "" ; Определите фильтр, для элементов которые можно выбрать, разделять чертой | без пробелов !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Filter" "Filter=Text Files|*.txt|Programs|*.exe;*.com|All Files|*.*" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "State" "$Filic" # состояние! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Left" 120 # отступ слева! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" 100 # отступ от верха! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Right" 320 # длина вправо! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" 112 # высота строки! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Flags" "NOTABSTOP|FILE_EXPLORER" # флаг! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "HWND" "" # высота строки! FunctionEnd Function WelcomePageSetupLinkShow !insertmacro MUI_INSTALLOPTIONS_SHOW FunctionEnd Section -bbbbbb # секция установки файлов! /*------- MMM ---------*/ SectionEnd |
|
Последний раз редактировалось sawe, 16-06-2011 в 23:13. Отправлено: 22:43, 16-06-2011 | #1260 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|