Задний план:
У меня есть проект, в котором я должен предоставить пользователю пакет загрузки с некоторыми конфиденциальными данными в нем. Данные должны быть зашифрованы. После того, как они загрузят его, им нужно будет его просмотреть (редактирование не требуется). Для этого вопроса, давайте приблизим данные в виде ряда статических файлов HTML. Поскольку данные являются конфиденциальными, они должны быть зашифрованы в любое время на диске.
Мы подумываем предоставить пользователю возможность загрузки, которая даст ему zip-файл, содержащий два файла:
- Файл данных (мы могли бы использовать зашифрованный zip-файл за кулисами) с данными, которые они запрашивали
- Приложение для просмотра данных, которое соответствующим образом запрашивает парольную фразу и обрабатывает дешифрование данных и отображение их через встроенный веб-браузер.
Дополнительные детали:
- Пользователи не находятся под нашим контролем. Они потребители.
- Мы не беспокоимся о кроссплатформенности в этом вопросе. Это как раз о Windows. У нас будет отдельная загрузка для пользователей Mac.
Получить к вопросу уже:
Для этого приложения, которое нам нужно создать, мы внутренне обсуждаем, является ли разумным, чтобы это приложение было .NET winforms. Нам нужен один .exe, и мы хотим, чтобы загрузка была достаточно маленькой (например, 100 КБ).
- Смеем ли мы использовать .NET Framework (нам не нужно использовать особенно последнюю версию .NET - было бы хорошо)?
- Разумно ли предположить, что большинство потребителей теперь имеют на своих компьютерах .NET из-за Центра обновления Windows?
- Разумно ли спрашивать тех, у кого его нет, чтобы установить его?
Мы знаем, что не у 100% пользователей будет установлен .NET. Реальный вопрос заключается в том, разумно ли попросить их иметь это в наши дни.
PS Кто-нибудь знает какие-либо достоверные статистические данные о том, какой процент людей на самом деле уже установил .NET?
источник
Ответы:
По умолчанию Windows XP не включает ни одной версии .NET Framework. Vista и Server 2008 включают в себя .NET Framework 3.0, Windows 7 и Server 2008R2 включают в себя .NET 3.5, а Windows 2000 не может поддерживать ничего выше .NET 2.0.
Имея это в виду, все сводится к распространению ОС в вашей целевой аудитории. Я бы перечислил это требование на странице загрузки и предоставил бы ссылку на раздел Microsoft Update / Downloads для загрузки платформы, в дополнение к загрузке приложения.
источник
Я не знаю, разумно ли просить их иметь это или нет. Тем не менее, я знаю, что клиенты часто неразумны, поэтому я не вижу, что это имеет значение. Если вы имеете дело с ограниченным числом клиентов, спросите их. Если вы имеете дело с большим количеством клиентов, чем можете разумно поговорить, или собираетесь со временем подобрать клиентов, просто убедитесь, что они видят требования перед покупкой.
источник
На какой версии Windows работают ваши пользователи?
Если это Windows Vista, у них будет установлен .NET 3 по умолчанию, а если это Windows 7, у них будет версия 3.5. Источник .
Это не помогает, если они на XP, но поскольку Microsoft только что прекратила поддержку SP2, они должны быть на SP3.
Если вы используете что-то вроде «ClickOnce» (есть другие доступные установщики), вы можете сделать соответствующую версию .NET Framework обязательным условием, и она загрузит и установит ее для вас - она не включена в ваш установщик . Если вас беспокоит размер загружаемого файла, вы можете перейти на .NET 3.5 или 4 и создать клиентский профиль, который будет намного меньше, хотя версия .NET 4 более гибкая.
источник
Некоторое время назад я прочитал несколько сообщений из Paint.NET о процессе установки и о том, как его улучшить. Посмотрите на эти две записи в блоге. Первый описывает неловкость установки .NET Framework отдельно; второй описывает, как автор интегрировал его в процесс установки.
Опыт установки Paint.NET - Часть 1, версия 3.xx (старый плохой способ)
Опыт установки Paint.NET - Часть 2, версия 4.0 (новый хороший способ)
Таким образом, даже если вам потребуется .NET Framework, и вы не уверены, будут ли пользователи иметь его, вы можете, по крайней мере, безболезненно интегрировать его установку с приложением.
источник
Многие корпоративные пользователи не используют последнюю версию Windows (все еще на XP), но я думаю, что все больше домашних пользователей обновились из-за нового оборудования. Загрузка и установка - это немного больно. Является ли этот файл обычно одноразовым для каждого клиента, или они будут продолжать получать файлы в будущем?
Какие у тебя другие варианты? Достаточно ли защищены паролем файлы Acrobat? Было бы намного проще заблокировать: сохранение, печать, копирование и вставка.
Кажется, ты изобретаешь колесо, но у меня нет всех деталей.
источник
Я провел некоторое исследование по этому вопросу, отслеживая данные более чем 10000 установок по всему миру для настольных приложений, ориентированных на .Net Framework 3.5 sp1. Только связка (около 10) не имела установленного фреймворка. Я удалил из установщика тяжелый установочный файл .net framework и никаких проблем пока не заметил.
Я настоятельно рекомендую вам провести такое же исследование на вашем рынке и принять решение, основываясь на результатах, а не на ответах, которые вы можете получить в сообществах, подобных этой.
источник
Зависит от вашей демографии ...
Если бы я хотел, чтобы кто-нибудь [1] мог его использовать, я бы нашел 32-битное приложение, которое будет работать на Win98 и W7.
Это, вероятно, означает C ++ / MFC.
[1] Любой, у кого есть компьютер моложе 12 лет, который подключен к Интернету, работает под управлением Windows 98+.
источник
.NET 4 теперь является частью обновления Windows (КБ была выпущена в июле 2010 года). Пока машина постоянно обновляет Windows, вы гарантированно имеете .NET 4.
источник
Если вы знаете, что у 100% ваших клиентов его нет, почему вы написали приложение с помощью .net?
Вы могли бы использовать Java и создать приложение для веб-запуска.
Но на самом деле вы можете связать .net framework с установщиком. Если Клиент доверяет вам установить Приложение, он также установит .net.
источник
Просто убедитесь, что поставляемый вами пакет содержит зависимость от требуемой версии фреймворка. Затем менеджер пакетов, который есть у пользователя, извлечет необходимую версию фреймворка и установит ее перед вашим пакетом.
О, операционная система, на которую вы нацелены, имеет очень ограниченную систему управления пакетами, которая не может этого сделать? Это должна быть плохая ОС тогда. Ну, тогда у вас есть только один вариант: установить этот фреймворк и предоставить пользователю ссылку для этого. Я не вижу пользы для пользователей, если заметная часть того, что делают разработчики, посвящена бесполезной совместимости со «стандартными» инструментами ОС (это время можно потратить на исправление ошибок и добавление функций вместо этого).
источник