во время установки я запускаю файл bat. Если файл bat возвращает ошибку, мне нужно прервать / завершить установку. Я бы хотел, чтобы он сделал MsgBox рассказывая пользователю, что произошло, затем для прерывания выглядеть и действовать так, как пользователь нажал отмена.
можно ли прервать/завершить установку?
примеры кода были бы действительно оценены.
[Run] Filename: test.bat; WorkingDir: ; Flags: waituntilterminated runhidden
автор: Martin Prikryl
4 ответов
проблема в том, что [Run] происходит после успешного завершения процесса установки. Таким образом, вы не можете отменить на данный момент, Вы можете только удалить. Также [Run] не позволяет получить код выхода.
так что у вас есть несколько вариантов.
Событие Использовать: procedure CurStepChanged(CurStep: TSetupStep);
, а вызов test.bat используя Exec или ExecAsOriginalUser оба они возвращают ResultCode. Затем можно запросить удаление пользователя.
однако я думаю, что выполнение отменить было бы проще.
как запретить установку программ
для этого создайте AfterInstall событие в последнем файле вашего проекта. И выполните программу из этого события, так как вы можете отменить это событие.
вот пример кода, который показывает, как это можно сделать.
[Files] Source: «MYPROG.EXE»; DestDir: «»; AfterInstall: MyAfterInstall [Code] procedure MyAfterInstall(); var ResCode : Integer; begin if Exec(ExpandConstant(») + ‘test.bat’, », SW_HIDE, ewWaitUntilTerminated, ResCode) then begin < Program Ran successfully ResCode now contains exit code results > < if Exit was 10 then Cancel Installation. >if ResCode = 10 then begin WizardForm.Close; end; end else begin < Problem running Program >MsgBox(‘Error’, SysErrorMessage(ResCode), mbError, MB_OK); end; end;
автор: Robert Love
спасибо, Роберт.
Это общая проблема происходит в любое время, когда сценарий обнаруживает, что установка не может быть продолжена. Однако в вашем решении есть проблема. Форму мастер.Close вызывает диалог отмены, и установка останавливается, только если пользователь отвечает «Да». Чтобы выйти определенно, мы должны вызвать CancelButtonClick.
[Files] Source: «MYPROG.EXE»; DestDir: «»; AfterInstall: MyAfterInstall [Code] var CancelWithoutPrompt: boolean; function InitializeSetup(): Boolean; begin CancelWithoutPrompt := false; result := true; end; procedure MyAfterInstall(); begin (Do something) if BadResult then begin MsgBox(‘Should cancel because. ‘,mbError,MB_OK) CancelWithoutPrompt := true; WizardForm.Close; end; end; procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin if CurPageID=wpInstalling then Confirm := not CancelWithoutPrompt; end;
автор: Mahris
просто, чтобы завершить другие возможности:
если вы можете проверить необходимое условие перед сбором любой информации от пользователя, то лучшее место для проверки -. Это позволяет отображать MsgBox и затем выйти с Result := False чтобы прервать установку.
Windows блокирует установку приложения, что делать?
Если вам нужно собрать некоторую информацию от потребителя сперва (как каталог установки) но смогите все еще проверить условие без установки всех файлов (кроме, возможно, нескольких via ExtractTemporaryFile ), то лучшее место-в
автор: Miral
Я использовал некоторый код из ответов здесь, чтобы составить полное решение для безопасного выполнения команд в разделе [Run] с надлежащим уведомлением и откатом при ошибке.
Источник: askdev.ru
Как остановить установку приложения
Польза любого Android-устройства по большей части раскрывается за счет установки загружаемых из Google Play Маркета приложений и программ из прочих источников. Среди подобного ПО также встречаются и нежелательные варианты, вызывающие трудности с удалением и даже способные навредить смартфону. В рамках инструкции мы рассмотрим несколько методов добавления запрета на загрузку и инсталляцию приложений.
Запрет установки приложений на Android
На сегодняшний день ограничить установку ПО на Андроид-устройстве можно большим количеством способов за счет использования как стандартных параметров операционной системы, и так и посредством функций, доступных в сторонних программах. Мы постараемся уделить внимание только некоторым актуальным вариантам, в то время как существует немало альтернативных решений в Плей Маркете.
Способ 1: Неизвестные источники (APK)
Первым делом ограничить инсталляцию можно с помощью системного раздела «Настройки», отключив функцию «Неизвестные источники». Это позволит заблокировать возможность распознавания файлов в формате APK, предварительно загруженных из интернета и представляющих собой установочный пакет. По сути, любое Android-приложение, включая те, что есть в Плей Маркете, содержится именно в таком виде.
Примечание: Этот метод не распространяется на доверенные источники вроде Google Play.
Android 7 и ниже
- В операционной системе Андроид седьмой и ниже версии изменить состояние функции можно только для всех приложений сразу. Для этого разверните раздел «Настройки» и в блоке «Личные данные» нажмите по строке «Безопасность».
Среди имеющихся пунктов найдите подраздел «Администрирование устройства» и дочерний пункт «Неизвестные источники». Одиночным тапом снимите галочку или поменяйте положение ползунка с правой стороны, и на этом процедура завершается.
Android 8 и выше
-
При использовании устройства на платформе Android восьмой и выше версии функцию «Неизвестные источники» можно настроить отдельно, включив для одних вариантов, и отключив для других. Чтобы воспользоваться параметрами, откройте «Настройки», затем «Приложения и уведомления» и разверните «Расширенные настройки».
Например, если вы хотите, чтобы загруженные через конкретный браузер APK-файлы нельзя было использовать, выберите соответствующий вариант на прошлом шаге и сместите влево ползунок «Разрешить». За счет данного действия все подобные файлы будут проигнорированы средством установки.
Дополнительно стоит заметить, что на Android Oreo и рассмотренные выше параметры изначально находятся в отключенном состоянии, но могут быть изменены во время инсталляции. Поэтому будьте внимательны при загрузке новых приложений из Google Play Маркета, чтобы случайно не включить нежелательную функцию.
В связи с тем, что рассмотренные настройки изначально открыты для изменения любому пользователю, взявшему в руки смартфон, следует позаботиться об установке вспомогательной защиты. Для этого существует масса специального ПО, доступного для загрузки в официальном магазине.
Способ 2: Google Play Маркет
Один из самых простых способов добавления запрета на установку приложений из официальных источников заключается в использовании функции «Родительский контроль» в Google Play Маркете. За счет этого нельзя отменить инсталляцию каждой программы из магазина, но при этом можно выставить ограничение по определенным критериям.
-
Нажмите по значку меню в левом верхнем углу экрана и выберите подраздел «Настройки».
В представленном списке найдите и воспользуйтесь пунктом «Родительский контроль». После перенаправления измените положение ползунка в верхней части страницы.
Подтвердите включение функции, указав и подтвердив PIN-код. В результате станут доступны дополнительные подразделы с параметрами.
Откройте страницу «Игры и приложения» и с помощью шкалы в левой части выберите желаемое возрастное ограничение. Завершив изменение, нажмите кнопку «Сохранить» для выхода из раздела.
Как видно, ограничения распространяются только на возрастной рейтинг. По этой причине способ актуален в малом количестве ситуаций.
За счет выставленных настроек нельзя будет ни найти, ни инсталлировать приложения из Плей Маркета, подпадающие под этот запрет. Если вам мало накладываемых ограничений, но общая суть метода полностью соответствует требованиям, можете сразу ознакомиться с завершающим разделом нашей статьи.
Способ 3: Удаление сервисов Google
Кроме как использовать встроенные средства Google Play Маркета, можно вовсе удалить основные сервисы, тем самым полностью ограничив доступ к магазину приложений на телефоне. Особенно эффективно это будет в случае предварительной установки пароля на раздел с параметрами и добавлением ограничений на открытие APK. Более подробно процесс удаления ПО был нами описан отдельно.
Чтобы заблокировать инсталляцию ПО, достаточно будет избавиться от «Google Play Маркета» и службу «Сервисы Google Play». При этом учтите, данный метод является крайней мерой, так как может вызвать огромное количество ошибок в работе смартфона.
Способ 4: Smart AppLock
С помощью Smart AppLock можно воспользоваться преимуществами предыдущего способа, но при этом не удаляя «жизненно важные» приложения. По сути, этот продукт выступает средством блокировки стандартных процессов Google, тем самым предотвращая возможность установки ПО из официальных источников. С некоторыми его альтернативными вариантами предлагаем ознакомиться в нашем обзоре.
-
Выполните загрузку по представленной ссылке и после запуска на стартовой странице нажмите кнопку «Включить». В результате откроется страница со всеми установленными программами.
Из списка приложений выберите программы, связанные с Гугл. Обязательными из них являются «Google Play Маркет» и «Сервисы Google Play».
Дальше создайте и подтвердите графический ключ, используемый для разблокировки. В будущем по желанию вы также сможете добавить методы восстановления доступа в настройках Smart AppLock.
После успешной настройки вы окажетесь на странице со списком добавленных блокировок. На этом процедуру остается завершить и выйти из программы.
Чтобы добавлять другое ПО, используйте значок «+» на экране «Блокировка приложений». Например, Smart AppLock отлично подходит для защиты раздела «Настройки» из первого способа.
При использовании программы стоит учитывать, что помимо запрета на установку вы также заблокируете автоматическое обновление уже добавленного ПО. Это может вызвать ряд проблем, например, в клиентах социальных сетей, требующих обязательного обновления. Кроме того, могут быть и другие менее очевидные трудности.
Способ 5: Родительский контроль
В отличие от предыдущих рекомендаций, воздействующих преимущественно на отдельные функции смартфона и приложения, родительский контроль позволяет ограничить использование Android-устройства в целом. Для этих целей существует ряд ПО, про использование которого нами было рассказано в инструкциях по следующим ссылкам. При этом обратите внимание, некоторые действия и приложения могли быть упомянуты в предыдущих способах.
Использование подобного метода хоть и гарантирует максимальную защиту от установки ПО, все же использовать такие программы стоит лишь с целью ограничения устройства, например, если его использует ребенок. В противном случае могут возникать проблемы, в частности связанные с процедурой отключения защиты.
Как прервать установку windows xp
Все админы делятся на две группы — те, кто не делает бекапы, и тех, кто их уже делает ——-
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро) Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением. Источник
Как прервать установку windows xp
Профиль | Отправить PM | Цитировать Имеем: машина взглючила, при попытке накатить систему сверху возникла ошибка (Setup is being restarted) это сообщение выдает после копирования файлов и первой перезагрузки компьютера. Последующие попытки загрузиться начинаются установкой системы и останавливаются на том же месте. В безопасный режим (любого вида) войти нельзя, система выдает сообщение о невозможности выполнения программы установки в безопасном режиме и что машина будет перезагружена. Естественно, кроме ОК кнопки нет. Оперативка и жесткий проверены MHDD Memtest.
В boot.ini ничего особенного —
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS=»Microsoft Windows XP Professional RU» /noexecute=optin /fastdetect Как прервать установку?
Чтобы хоть в безопаске грузилась.
Источник: onecomp.ru