|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Прочитал, что еще нужно прописать:
Function .OnInstFailed UAC::Unload FunctionEnd Function .OnInstSuccess UAC::Unload FunctionEnd И сопутствующие функции деинсталляции. Вот еще проблема, у меня уже есть в скпипте Function .OnInit Как правильно в этом случае объединить функции? |
------- Отправлено: 11:44, 07-07-2011 | #1301 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
user - запрашивает права текущего пользователя без административных привилегий. highest - требует самый высокий уровень выполнения, доступный для текущего пользователя. admin - требует привелегии администратора. В справочнике NSIS все это есть Цитата wolkow70:
UAC::Unload - выгружает библиотеку из памяти. Значит достаточно, прописать в функции .onGUIEnd - выполняется при закрытии инсталлятора и больше нигде. А по сути сама винда умеет выгружать из памяти библиотеки Цитата wolkow70:
Цитата punsh:
Delete /REBOOTOK "$APPDATA\Photodex\ProShow Producer\def.dat" |
||||
------- Последний раз редактировалось kotkovets, 07-07-2011 в 14:48. Отправлено: 14:36, 07-07-2011 | #1302 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
Хорошо, тогда скажите, что отразить в скрипте, что бы программа без запроса со стороны UAC ставилась с правами администратора? RequestExecutionLevel admin? UAC.nsh вообще имеет смысл применять? Или я не понял смысла этого плагина. Есть еще старый макрос IsUserAdmin.nsh Вопрос возник в связи с необходимостью тихой установки некоторого числа программ в автоматическом режиме через WPI. Цитата kotkovets:
Здесь интересная статейка и полемика на эту тему: http://sundest.blogspot.com/2007/04/nsis-vista.html Тут тоже интересно: http://begemotov.net/creator/sharewa...vistoy-c-nsis/ А во вложении оргинальный скрипт VLC в последней редакции с применением UAC |
|
Последний раз редактировалось wolkow70, 12-09-2011 в 12:29. Отправлено: 15:09, 07-07-2011 | #1303 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата:
RequestExecutionLevel admin без плагина, у юзера будет спрошено - что бы он имел такие админские права на установку, если дать права админа юзеру (если он не имеет админских прав), то настройки программы лягут в профиль админа, а не юзера, а если пользователь имеет права админа - то все нормально. примерно так |
|
------- Отправлено: 16:45, 07-07-2011 | #1304 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Спасибо.
Тут мучаюсь с удалением ассоциаций на Windows7. Прописывается: HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.asf" "Progid" "KMPlayer.asf" В макросе де-регистрации пишу: ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}" "Progid" "" StrCmp $0 $ClassName 0 +2 DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}" "Progid" "" Ошибка компиляции в результате... А в UserChoice все нормально удаляется. ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" "" StrCmp $0 $ClassName 0 +2 DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" |
------- Последний раз редактировалось wolkow70, 07-07-2011 в 17:51. Отправлено: 17:34, 07-07-2011 | #1305 |
Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать Поскольку вы используете только тихий режим Function .OnInstFailed можно не использовать.
Function .OnInstFailed # сообщение при нажатии кнопки Отмена --! UAC::Unload FunctionEnd Function un.onUninstFailed # сообщение при нажатии кнопки Отмена! UAC::Unload # должен выгрузиться! FunctionEnd Function .onInit и если вставили Function un.onInit Если вы его не выгрузите, то в дисптечере задач он останется. И самое неприятное, существует несколько версий UAC v0.0.11d - v0.2.2d - v0.2.2c и ещё юникоде, которые немного отличаются между собой. Команды и функции те же, но реализация немного другая. -- |
Отправлено: 18:18, 07-07-2011 | #1306 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата sawe:
Цитата sawe:
Я выдернул новые файлы из нового комплекта сборки VLC Player. C ними инсталлятор собрался. В чем дело не понятно. При этом в скрипте ничего не менялось. Во вложении модернизированные файлы, версию не знаю. |
||
------- Последний раз редактировалось wolkow70, 07-07-2011 в 18:38. Отправлено: 18:29, 07-07-2011 | #1307 |
Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
Function .onInit # сообщение в начале установки --! UAC_Elevate: UAC::RunElevated StrCmp 1223 $0 UAC_ElevationAborted ; UAC dialog aborted by user? StrCmp 0 $0 0 UAC_Err ; Error? StrCmp 1 $1 0 UAC_Success ;Are we the real deal or just the wrapper? Quit UAC_Err: Abort UAC_ElevationAborted: Abort UAC_Success: StrCmp 1 $3 +4 ;Admin? StrCmp 3 $1 0 UAC_ElevationAborted ;Try again? goto UAC_Elevate FunctionEnd ;Запуск приложения с правами пользователя для MUI на финальной! !insertmacro MUI_PAGE_INSTFILES !define MUI_FINISHPAGE_RUN !define MUI_FINISHPAGE_RUN_FUNCTION ExecAppFile Function ExecAppFile !insertmacro UAC_AsUser_ExecShell 'open' '$INSTDIR\Aimp.exe' '-firstrun' '$INSTDIR' '' FunctionEnd ; Где угодно! !insertmacro UAC_AsUser_ExecShell 'open' '$INSTDIR\Aimp.exe' '-firstrun' '$INSTDIR' '' Это пример для UAC v0.0.11d, но нужно заменить UAC.dll и в инклуды данной версии, 100% рабочий для RequestExecutionLevel user Function .onInit # сообщение в начале установки --! UAC::RunElevated StrCmp 1223 $0 UAC_ElevationAborted # диалог прерванный пользователем --? StrCmp 0 $0 0 UAC_Err ; ошибка? StrCmp 1 $1 0 UAC_Success # реально выполнить или только оболочка --? Quit UAC_Err: ; MessageBox MB_ICONSTOP "Невозможно поднять права, ошибка $0" Abort UAC_ElevationAborted: # повышение было прервано, но все еще выполняется как нормальное --! UAC_Success: ;--Конец кода UAC --! ; -- далее ваш код --! FunctionEnd Цитата wolkow70:
|
||
Последний раз редактировалось sawe, 07-07-2011 в 22:36. Отправлено: 22:02, 07-07-2011 | #1308 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать sawe,
Слелал по вашему варианту с UAC_v0.2.2d. Не компилируется. Function: ".OnInit" Invalid command: UAC::RunElevated Error in script "D:\NSIS\kmplayer-new.nsi" on line 107 -- aborting creation process Такое впечатление, что он плагина не видит. Если добавляю : Function .OnInstFailed UAC::Unload ;Must call unload! FunctionEnd ; Function .OnInstSuccess UAC::Unload ;Must call unload! FunctionEnd то показывает: Function: ".OnInstFailed" Invalid command: UAC::Unload Error in script "D:\NSIS\kmplayer-new.nsi" on line 95 -- aborting creation process И еще, что бы это значило (из справки): This plugin has been tested under the following environments: Windows 7 - UAC On - Administrator Windows Vista - UAC On - Administrator Windows Vista - UAC Off - Administrator Windows Vista - UAC On - Standard User - User supplies administrator info into the UAC dialog Windows Vista - UAC On - Standard User - User does not supply administrator info into the UAC dialog Windows Vista - UAC Off - Standard User - User supplies administrator info into the Run As dialog Windows Vista - UAC Off - Standard User - User does not supply administrator info into the Run As dialog |
------- Отправлено: 11:29, 08-07-2011 | #1309 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70, подключите хедер UAC.nsh к скрипту (он парсит функции, а не компилятор) и используете макросы из этого хедера.
Для юникодной версии NSIS берем плагин из папки U Для ANSI версии NSIS берем плагин из папки A Как определить юникод или анси, скомпильте: |
------- Отправлено: 14:40, 08-07-2011 | #1310 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|