Библиотека автоматического обновления для.NET? [закрытый]

Ваш файл введен как required.

Если вы скроете это с помощью CSS, тогда это все еще будет необходимо, пользователь просто не сможет его увидеть (но Chrome, IIRC, предупредит вас об этом в консоли инструментов разработчика).

Вам нужно удалить атрибут required, когда вы его скрываете.

, но когда я пытаюсь комментировать файл, кнопка отправки работает

Синтаксис вашего комментария не выполняет то, что вы хотите.

Во-первых, у вас есть элемент ввода с недопустимым атрибутом типа:

<input type=<!--"file" -->

Затем у вас есть остальное как обычный текст , который будет отображаться пользователю, если вы не скрывали это с помощью CSS.

name="pictures" accept="image/*" required id="uploadImage"/>

Посмотрите, как это выглядит:

<input type=<!--"file" --> name="pictures" accept="image/*" required id="uploadImage"/>

Похоже чтобы решить вашу непосредственную проблему, потому что элемент input больше не имеет атрибута required (потому что он является частью простого текста.

39
задан Matt Ball 2 August 2012 в 18:46
поделиться

10 ответов

ClickOnce имеет свои собственные ограничения безопасности (understandbly так). Если Вы хотите полную мощность, и управление Приложения Windows затем идут с .NETприложение updaterкомпонентом . Это работает как очарование и даже использовалось Microsoft внутренне для их основанной на.NET игры (я не помню игровое имя хотя).

28
ответ дан Peter Mortensen 27 November 2019 в 02:28
поделиться

ClickOnce является моим предпочтительным методом. Это имеет некоторые бородавки, но это идет с Visual Studio и работами обоснованно хорошо.

10
ответ дан Peter Mortensen 27 November 2019 в 02:28
поделиться

ClickOnce в большой степени используется, но можно сделать то, что я сделал для крупного приложения и пробую их:

Я переделал логику немного и создал то, что я думал, был лучший файл обновления XML. Теперь, когда я должен обновить клиенты, я просто отправляю новые EXE-файлы или файлы DLL и устанавливаю правильные версии в общедоступном XML-файле. Мое приложение обнаруживает более новые версии, если это является более старым и обновляет себя. При выполнении этого на  Windows Vista необходимо запросить права администратора так, чтобы Программные файлы могли быть записаны в (если Вы устанавливаете там).

Можно также легко преобразовать это в C# с помощью Преобразователя C#/VB.NET.

6
ответ дан Peter Mortensen 27 November 2019 в 02:28
поделиться

Существует действительно хорошая утилита под названием Updater. Похоже, что это записано в C или C++. Я смог настроить XML-файлы и загрузить их в рабочий сервер, и затем я могу иметь Выполнение Updater и проверить XML-файл на другую версию и загрузить новый пакет установки обновления, что я создал использование Системы установки Nullsoft Scriptable (NSIS).

2
ответ дан Peter Mortensen 27 November 2019 в 02:28
поделиться

Для обновления клиентских приложений .Net посмотрите Обновление AppLife . Это очень гибкий, расширяемый и настраиваемый.

Отказ от ответственности - я связан с обновлением AppLife.

-1
ответ дан 27 November 2019 в 02:28
поделиться

We investigated a handful of options and decided to use AppLife Update. AppLife Update can quickly and easily add auto update functionality for your .NET applications, but it is also flexible because of its comprehensive API.

See the full list of features and some demo videos on their website.

2
ответ дан 27 November 2019 в 02:28
поделиться

Я думаю WyBuild - хорошая альтернатива Sparkle)

3
ответ дан 27 November 2019 в 02:28
поделиться

DotNetAutoUpdate

Я реализовал библиотеку для этого под названием DotNetAutoUpdate (исходное название, а?). Его цель:

  • Простота использования
  • Простота настройки
  • Безопасность
2
ответ дан 27 November 2019 в 02:28
поделиться

Рекомендуется создать веб-приложение servlet/asp.net, которое взаимодействует с SQL Server и возвращает только то, что необходимо для приложения J2ME. Поскольку J2ME не имеет JDBC и имеет ограничения памяти для обработки результатов SQL. Надеюсь, это имеет смысл!

-121--1948863-

Опция 1 ясна, но несколько многословна. Мне совсем не нравится 2, а 3 трудно понять. Лично я предпочитаю использовать структуры для такого рода вещей.

typedef struct  {
   unsigned char whatever[2];
   unsigned char device_address;
   unsigned char register_address;
   unsigned char num_bytes;
   }  CMD;

CMD * pcmd = (CMD *)&cmd[0];

// use the local variables:
if(num_bytes ≤ 0xFF) {
    do_stuff(pcmd->device_address, pcmd->register_address, pcmd->num_bytes);
-121--4690580-

Позвольте мне начать с того, что мы предлагаем полное решение по обновлению, которое включает в себя:

wyUpdate

Если вы хотите создать собственную программу обновления, вот несколько советов:

Создание собственной программы обновления

Хорошее место для начала - это wyUpdate C # исходный код , упомянутый выше. Его можно каннибализировать и использовать в своих целях. Некоторые из алгоритмов, которые он содержит:

  • Полная поддержка Windows Vista/Windows 7 UAC
  • Возможность для ограниченных пользователей проверять, а затем обновлять, если у них есть полномочия
  • Поддержка wonky корпоративной сети. (Если вы когда-либо работали с корпорацией, это реальная проблема).
  • Быстрое извлечение, исправление и установка файлов.
  • Поддержка реестра.
  • Откат файлов и реестра при ошибке или отмене пользователем
  • Автоматическое обновление (файлов не осталось)

Здесь также имеются спецификации .

Автоматическое обновление

Поскольку автоматическое обновление является обязательным требованием, позвольте мне рассказать вам, как это делается с нашим элементом управления AutomaticUpdater .

Мы используем именованные каналы для обмена данными между автономным средством обновления (wyUpdate) и элементом управления Automatic Updater, расположенным в форме вашей программы. wyUpdate сообщает о ходе выполнения в средство автоматического обновления, и средство автоматического обновления может указать wyUpdate, чтобы отменить выполнение, начать загрузку, начать извлечение и т. д.

Это позволяет отделить средство обновления от вашего приложения.

На самом деле, точно названные каналы C # код мы используем включен в статью Я написал немного назад: Multi-process C # приложение, как Google Chrome .

15
ответ дан 27 November 2019 в 02:28
поделиться

Вот решение с открытым исходным кодом, которое я написал для удовлетворения конкретных потребностей, которые у нас были для приложений WinForms и WPF. Общая идея состоит в том, чтобы иметь наибольшую гибкость при минимально возможных накладных расходах.

Итак, интеграция очень проста, и библиотека делает практически все за вас, включая операции синхронизации. Он также очень гибкий и позволяет вам определять, какие задачи выполнять и на каких условиях — вы устанавливаете правила (или используете уже существующие). Последнее, но не менее важное, это поддержка любого источника обновлений (Интернет, BitTorrent и т. д.) и любого формата канала — все, что не реализовано, вы можете просто написать сами.

Холодные обновления (требующие перезапуска приложения) также поддерживаются и выполняются автоматически, если для задачи не указана «горячая замена».

Это сводится к одной DLL размером менее 70 КБ.

Подробнее на http://www.code972.com/blog/2010/08/nappupdate-application-auto-update-framework-for-dotnet/

Код на http: //github.com/synhershko/NAppUpdate (Под лицензией Apache 2.0)

Я планирую расширить его, когда у меня будет больше времени, но, честно говоря, вы сможете быстро улучшить его самостоятельно для любых целей на данный момент не поддерживает.

2
ответ дан 27 November 2019 в 02:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: