EXE проблемы с auto updater.exe чаще всего связаны с повреждением или отсутствием исполняемого файла, и зачастую возникают во время запуска Firmware Auto Update Utility. Обычно, установка новой версии файла EXE позволяет устранить проблему, из-за которой возникает ошибка. Мы также рекомендуем выполнить сканирование реестра, чтобы очистить все недействительные ссылки на auto updater.exe, которые могут являться причиной ошибки.
Типы Исполнимые файлы, которые используют EXE, также известны в качестве формата Windows Executable File. В таблице ниже представлен список доступных для загрузки файлов auto updater.exe, подходящих для большинства версий Windows (включая %%os%%). Для скачивания доступны не все версии auto updater.exe, однако вы можете запросить необходимых файл, нажав на кнопку Request (Запрос) ниже. В крайнем случае, если ниже отсутствует необходимая вам версия файла, вы всегда можете связаться с Thomson, Inc..
Как правило, ошибки подобного типа больше не возникают после размещения надлежащей версии файла auto updater.exe в соответствующем месте, однако вам следует выполнить проверку ещё раз. Убедитесь в том, что вам удалось устранить ошибку, открыв Firmware Auto Update Utility и (или) выполнив операцию, при выполнении которой возникала проблема.
AutoRuns контролирует автозагрузку программ.
Источник: www.solvusoft.com
Написание собственного Auto Updater
При написании моего собственного средства автоматического обновления, есть ли какая-то общая структура, которой я должен следовать?
Некоторое время назад я читал о том, как создать «загрузочную ленту», которая будет загружаться первой перед основным приложением (поскольку запущенное приложение не может быть обновлено из-за блокировок файлов и т. д.)
Итак, какие-нибудь советы / лучшие практики для этого?
30.10.2008 16:30
Получить данные из формы с помощью JS очень просто: вы запрашиваете элемент формы, передаете его конструктору new FormData() и, наконец, получаете.
Если вы хотите создать свое собственное правило валидации, Laravel предоставляет возможность сделать это. Создайте правило с помощью следующей.
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно.
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату.
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно.
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей.
ПРОПАЛИ ЭЛЕМЕНТЫ АВТОЗАГРУЗКИ? // TUTORIAL
Ответы 10
Десять лет назад я написал программу автоматического обновления (не в .NET), но суть заключалась в том, что у приложения был идентификатор версии, который проверялся при запуске. В этом случае приложение запрашивало таблицу базы данных с текущей версией, и если текущая версия была меньше текущей, пользователю предлагалось загрузить последнюю версию. То же самое можно сделать, проверив URL-адрес.
Это простой способ сделать это, и он отлично работает. Предположим, вы определяете XML-схему версии приложения и URL-адрес, по которому можно получить новую версию приложения. Использовать XML-сериализацию очень просто. Вещи, которые могут усложнить это, — это когда вы хотите использовать подпись в документе версии, чтобы обеспечить проверку целостности и как выполнить замену на месте, если действительно есть обновленная версия.
30.10.2008 16:35
Если вы используете .Net, почему бы просто не использовать ClickOnce? Он будет делать все, о чем вы говорите, из коробки и практически не требует настройки.
30.10.2008 16:40
Хорошо, во-первых, если один из имеющихся на рынке установщиков / обновлений соответствует вашим потребностям, вам, вероятно, следует их использовать. При этом я сам не так давно имел удовольствие построить подобную систему. Да, наш установщик / средство обновления включал в себя две части на стороне клиента, чтобы:
~ Часть A будет подключаться к серверам, на которых хранится и публикуется последняя версия; если бы была доступна более новая версия Части B, он бы ее загрузил и запустил
~ Часть B будет сосредоточена на установке / обновлении фактического приложения (и может загружать и устанавливать обновления для Части A).
Кроме того, я бы рекомендовал всегда учитывать следующие 4 операции в программе установки / обновления:
- Установить и удалить
- Обновление и откат (т. Е. Отменить последнее обновление)
Откат имеет решающее значение, когда у ваших пользователей есть система, которая автоматически обновляется в одночасье . если каждое обновление дает сбой, они могут откатиться и продолжить работу, пока вы устраняете проблему.
Наконец, установщик / программа обновления должны стараться быть независимыми от приложения, которое он устанавливает / обновляет, чтобы при изменении этого приложения система установщика / средства обновления подвергалась минимальному воздействию.
30.10.2008 16:41
ClickOnce у нас не сработал. Устанавливаем базу данных на сервер нашего клиента. База данных на их конце должна быть обновлена, прежде чем мы выполним обновление. У нас намного больше, чем просто 2 или 3 клиента, поэтому использование ClickOnce для нашего приложения — не лучшая идея, если только я не упускаю что-то важное о ClickOnce.
Что я сделал, так это добавил в базу данных поле для номера версии. На нашем ftp-сайте у меня есть папка версий, в которой есть папка для каждого номера версии нашего приложения. Внутри папки этой конкретной версии мы помещаем zip-файл с setup.exe и msi-файлом, который запускает setup.exe.
Все предварительные требования загружаются с сайта поставщиков, чтобы гарантировать, что наш FTP-сайт не будет сильно загружен (.Net 3.5, когда мы перешли на него). Когда наше приложение запускается, оно проверяет поле в базе данных на наличие номера версии, и, если он отличается от версии сборки текущей версии, оно подключится к ftp-сайту, загрузит zip-файл из папки этой новой версии, распакует его и выполнить настройку. Это установит более новые версии .Net или любое другое требование, которое мы, возможно, добавили, затем запустите MSI для установки нашего приложения, и все, что пользователю нужно сделать, это нажать кнопку «Далее» несколько раз.
30.10.2008 16:58
Я написал программу обновления для приложения, над которым работал, на C++, но общая структура осталась прежней.
- Приложение проверяет URL-адрес на наличие номера версии или другого изменения идентификатора.
- Приложение удаляет приложение обновления новый из сети
- Приложение запускает приложение обновления новый (которое может включать код для непредвиденных изменений в процессе обновления), а затем приложение закрывается
- Новое средство обновления ожидает выхода приложения, затем загружает и устанавливает новые «вещи» и т. д.
Это сработало для нас очень хорошо, и поскольку оно всегда загружало новую «программу обновления» первым делом, мы могли справиться с некоторыми необычными новинками, которые в противном случае могли бы не работать.
30.10.2008 17:06
Вероятно, вам придется написать свой собственный. Как уже упоминалось, основная идея состоит в том, чтобы поместить последнюю версию вашей программы (я предполагаю, что это EXE-файл) на сервере, а затем ваше приложение проверяет сервер при его запуске и загружает EXE с сервера, если он более новая версия.
Обычно я реализовал это как веб-службу, которую приложение вызывает при запуске. Несколько предупреждений об этом подходе:
- Метод веб-службы должен получить номер версии EXE на сервере и сравнить его с номером версии вызывающего. Если вы используете класс Assembly для чтения номера версии серверного EXE, это заблокирует файл на время работы экземпляра веб-службы (не менее 20 минут). В результате у вас могут иногда возникать проблемы с заменой EXE на сервере более новой версией. Вместо этого используйте класс AssemblyName — это позволяет читать информацию о сборке, не загружая сборку (и не блокируя ее).
- Вызывающее приложение не может заменить свой собственный файл новой версией — вы не можете удалить или обновить файл работающего приложения. Однако может переименовывает свой собственный файл во время работы. Таким образом, уловка с автоматическим обновлением заключается в том, что приложение переименовывает себя (например, «MyApplication.exe» в «MyApplication_OLD.exe»), загружает новую версию в папку приложения (с именем «MyApplication.exe»), уведомляет пользователя что произошло обновление, требующее перезапуска приложения, а затем его завершения. Когда пользователь перезапускает приложение, запускается более новая версия — эта версия проверяет наличие и удаляет старую версию.
Выполнение автоматического обновления, которое автоматически перезапускает приложение после такого обновления, очень сложно (оно включает запуск другого процесса и затем завершение собственного процесса до того, как начнется процесс автоматического перезапуска). У меня никогда не было пользователей, которые жаловались на перезапуск приложения.
> У меня никогда не было пользователей, которые жаловались на перезапуск приложения. — Считайте этот комментарий своей первой жалобой. НЕНАВИЖУ, когда мне нужно перезапускать приложение, особенно из-за обновления.
Я не против перезапуска приложения после обновления (для меня это имеет смысл; поместите меня в свой список «не жалуюсь»). Но у меня ДЕЙСТВИТЕЛЬНО возникают проблемы с обновлениями, требующими перезагрузки ПК, и я не был проинформирован о том, когда решил выполнить обновление! Если бы я знал, что обновлениям требуется перезапуск, я бы не стал открывать все мои редакторы только для того, чтобы открыть их очередной раз после перезапуска. Неужели так сложно проинформировать пользователя? «Это обновление потребует перезапуска» — это все, что мне нужно.
30.10.2008 17:29
Этот zip-архив содержит исходный код инструмента для поиска слов, который включает шаблонный код AppUpdater. http://cid-842434ebe9688900.skydrive.live.com/self.aspx/Games/WordSearchGenerator-src-v1.3.zip
Найдите 3 исходных модуля, в названии которых есть «AppUpdater».
Это очень упрощенно и работает только для приложений с одной сборкой. Нет файла MSI. Просто EXE. Философия заключается в том, что проверка обновлений происходит автоматически, но обновления устанавливаются только после подтверждения пользователя.
Как работает апдейтер:
Он загружает XML-документ из URL-адреса, который содержит информацию о «последней версии», а также второй URL-адрес, по которому находится фактическая новая версия. Логика средства обновления проверяет подпись в XML-документе, но вас это может не волновать. Затем программа обновления сравнивает текущую версию с последней и может сообщить приложению, доступно ли обновление. Программа обновления также решает проблему замены на месте.
В этой модели существует три «стадии жизненного цикла» приложения во время обновления. Обычно приложение проверяет наличие обновлений, а затем работает в обычном режиме. В какой-то момент пользователь может подтвердить, что он хочет установить доступное обновление, и Updater загружает приложение во временное место, а затем запускает процесс, используя этот недавно загруженный exe.
Затем логика средства обновления завершает первый процесс. Второй процесс, основываясь на аргументах командной строки, переданных ему первым процессом, понимает, что это недавно загруженная копия, и ей необходимо реплицировать себя. Он копирует себя в исходное место (указанное в командной строке), запускает который exe и завершает работу.
Третий процесс запускается как обычно, видит, что было обновление, и удаляет временную копию exe. Затем он работает в обычном режиме, включая проверку обновлений. Он обнаружит, что обновлений нет, и будет работать в обычном режиме. Это касается работы логики обновления на месте.
Все это обрабатывается этими строками в конструкторе Windows Form или WPF Window:
_Updater = new AppUpdater.SimpleAppUpdater(_MyManifestUrl); _Updater.Startup(App.CommandLineArgs);
Проблема проверки наличия обновлений также решается несколькими строками кода в конструкторе, которые создают и запускают фоновый рабочий поток:
_Worker = new System.ComponentModel.BackgroundWorker(); _Worker.DoWork += CheckLatest; _Worker.RunWorkerCompleted += CheckCompleted; _Worker.RunWorkerAsync();
void CheckLatest(object sender, System.ComponentModel.DoWorkEventArgs e) < lock (_Updater) < if (_Updater.UpdateIsAvailable) // Checks for update < // can update a textbox (etc) here. Be careful of InvokeRequired. >> >
void CheckCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e) < if (!e.Cancelled e.Error == null) < lock (_Updater) < // only display the about box if there is an update available. if (_Updater.HaveCheckedForUpdate _Updater.UpdateIsAvailable) < // do whatever you want here. Eg, pop a dialog saying // «an update is available» About about = new About(); about.Message= «An update is available»; about.ShowDialog(); >> > >
Он работает из приложений WinForms или WPF. Думаю, это будет работать и из консольных приложений, но я никогда не пробовал.
Создание (возможно, подписанного) файла манифеста — это отдельная задача, которая здесь не рассматривается.
Если подумать, лучше было бы упаковать его как базовый класс AutoUpdatingForm (для WinForms) или AutoUpdatingWindow (для WPF). Но я так и не пошел.
Источник: reddeveloper.ru
Проверить файл AutoUpdate.exe
Укажите название процесса (например, AutoUpdate.exe) из диспетчера задач в окно поиска и определите, насколько вреден или полезен он для Вашего компьютера.
Описание AutoUpdate.exe
Расположение:
Процесс: ATT
Описание:
autoupdate.exe is a product of ATThis Trojan allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data. » This process is a security risk and should be removed from your system.
Перевод: (автоматический)
AutoUpdate.exe
. был замечен в директориях
- %PROGRAMFILES% (100.00%)
. с такими версиями
- 1.0.0.0 (55.56%)
- 1.6.0001.0 (11.11%)
- 3.0.0.0 (22.22%)
- 4, 2, 100, 5 (11.11%)
. вот такого размера
| 227752 (100.00%) |
| 2100512 (50.00%) 2335008 (50.00%) |
| 33536 (100.00%) |
| 691584 (20.00%) 801304 (20.00%) 813888 (20.00%) 906624 (20.00%) 1025856 (20.00%) |
. с таким описанием
- Advanced SystemCare with Antivirus AutoUpdate (11.11%)
- AutoUpdate (11.11%)
- Automatic Update Service (11.11%)
- Driver Booster Updater (11.11%)
- Helps you update Game Booster to latest version. (11.11%)
- Smart Defrag Updater (22.22%)
- SmartDefrag Updater (11.11%)
- StartMenu Updater (11.11%)
. и таким копирайтом
- пусто (22.22%)
- Amadeus (11.11%)
- IObit (66.67%)
Источник: www.sergeshibaev.ru
autoUpdater
Позвольте приложениям автоматически обновляться.
Платформа заметок
В настоящее время поддерживаются только macOS и Windows. На Linux нет встроенной поддержи автоматического обновление, поэтому рекомендуется использовать менеджер пакетов для обновления вашего приложения.
Кроме того есть некоторые тонкие различия на каждой платформе:
macOS
На macOS модуль autoUpdater построен на Squirrel.Mac, что означает, что Вам не нужно делать каких-либо специальных настроек, чтобы заставить его работать. Для серверных условий, Вы можете прочитать Поддержку сервера. Заметьте, что App Transport Security (ATS) применяется ко всем запросам, сделанным как часть процесса обновления. Приложению, у которого требуется отключить ATS, можно добавить ключ NSAllowsArbitraryLoads в список свойств приложения (plist).
Примечание: Ваше приложение должно быть подписано для автоматических обновлений на macOS. Это требование Squirrel.Mac .
Windows
На Windows Вам придется установить приложение на компьютер пользователя, прежде чем Вы сможете использовать autoUpdater , поэтому рекомендуется использовать пакет electron-winstaller, electron-forge или grunt-electron-installer для создания установщика Windows.
При использовании electron-winstaller или electron-forge убедитесь, что Вы не пытаетесь обновить ваше приложение при первом запуске (также см. этот вопрос для получения дополнительной информации). Также рекомендуется использовать electron-squirrel-startup, для получения ярлыка Вашего приложения на рабочем столе.
Установщик, сгенерированный с помощью Squirrel, создаст ярлык с Application User Model ID в формате com.squirrel.PACKAGE_ID.YOUR_EXE_WITHOUT_DOT_EXE , com.squirrel.slack.Slack и com.squirrel.code.Code . Вы должны использовать тот же ID для Вашего приложения в app.setAppUserModelId API, иначе Windows не сможет должным образом закрепить приложение в панели задач.
Как и Squirrel.Mac, Windows может размещать обновления на S3 или любом другом статическом файловом хосте. Вы можете прочитать документацию о Squirrel.Windows, для получения более подробной информации о том, как работает Squirrel.Windows.
События
Объект autoUpdater имеет следующие события:
Событие: ‘error’
Возникает когда происходит ошибка при обновлении.
Событие: ‘checking-for-update’
Возникает при проверке, если обновление началось.
Событие: ‘update-available’
Происходит при наличии доступного обновления. Обновление загружается автоматически.
Событие: ‘update-not-available’
Возникает, когда нет доступных обновлений.
Событие: ‘update-downloaded’
- Событие типа event
- releaseNotes string
- releaseName string
- releaseDate Date
- updateURL string
Возникает при загрузке обновления.
На Windows доступен только releaseName .
Примечание: Не обязательно обрабатывать это событие. Успешно загруженное обновление будет применено при следующем запуске приложения.
Событие: ‘before-quit-for-update’
Это событие происходит после вызова quitAndInstall() .
Когда это API вызывается, событие before-quit не будет происходить, до тех пор, пока все окна не будут закрыты. В результате Вы должны прослушивать это событие, если хотите выполнить действия до закрытия окон, во время завершения процесса, а также прослушивать before-quit .
Методы
Объект autoUpdater имеет следующие методы:
autoUpdater.setFeedURL(options)
- options Object
- url string
- headers Record < string, string >(optional) macOS — HTTP request headers.
- serverType string (optional) macOS — Can be json or default , see the Squirrel.Mac README for more information.
Задает url и инициализирует автоматическое обновление.
autoUpdater.getFeedURL()
Returns string — The current update feed URL.
autoUpdater.checkForUpdates()
Спрашивает сервер, есть ли обновление. Вы должны вызвать setFeedURL перед использованием API.
Note: If an update is available it will be downloaded automatically. Calling autoUpdater.checkForUpdates() twice will download the update two times.
autoUpdater.quitAndInstall()
Перезапускает приложение и устанавливает обновление после его загрузки. Следует вызывать только после произошедшего update-downloaded .
Внутри, вызов autoUpdater.quitAndInstall() сначала закроет все окна приложения, и автоматически вызовет app.quit() , после того, как все окна будут закрыты.
Note: It is not strictly necessary to call this function to apply an update, as a successfully downloaded update will always be applied the next time the application starts.
Источник: www.electronjs.org