Как облегчить пользователям установку моего программного обеспечения? Имеет ли значение язык программирования? - PullRequest
1 голос
/ 16 июня 2010

Я новичок в программировании среднего уровня, и я изучил некоторые Java и C #. Я хочу начать думать о создании простых программ, которые я смогу выпустить в мир. Просто некоторые базовые вещи, такие как программное обеспечение для календаря, которое, вероятно, будет бесплатным. Пользователи хотят, чтобы процесс установки был быстрым и простым. Чтобы установить программу Java, я должен сказать им, чтобы установить Java. Чтобы установить программу на C #, я должен сказать им, что у вас установлен .NET. Я беспокоюсь, что это может оттолкнуть некоторых потенциальных пользователей, которые просто хотят дважды щелкнуть exe-файл, выбрать каталог и сделать это в значительной степени.

Итак, я думаю, что это вопрос из двух частей:

1) Существует ли язык программирования, который облегчает установку установщика, не требуя от пользователей установки других компонентов?

или

2) Есть ли способ настроить установщик, который проверяет систему на наличие в ней java / .NET / что угодно, а затем включает в установку java / .Net / что угодно, если ее еще нет?

Ответы [ 8 ]

5 голосов
/ 16 июня 2010

С .NET, если вы берете свою версию сборки exe (и dll и все, что вам нужно), а затем используете http://www.advancedinstaller.com/ для упаковки их в MSI.Это действительно хорошее бесплатное программное обеспечение, позволяющее легко и просто установить и удалить программное обеспечение.

0 голосов
/ 17 июня 2010

Я удивлен ClickOnce еще не упоминалось, собственный проект установки Microsoft.Он интегрирован в Visual Studio и проверяет наличие предварительных условий, таких как .Net Framework.Тем не менее, будьте осторожны, если вы используете определенные сторонние компоненты (такие как отчеты и т. Д.), Это не очень хорошо работает, но вы, вероятно, не будете беспокоиться об этом в настоящее время :) О, и он устанавливает EXE в странном месте, а не в программеФайлы: /

Лично я действительно люблю Система установки скриптов Nullsoft !Я не слишком беспокоюсь о требованиях .Net, они поставляются с обновлениями Windows, и в настоящее время на большинстве ПК они есть, но есть сценарии NSIS, которые могут проверять любые требования, которые вам нужны.Просто убедитесь, что пользователи знают, что это требование, со ссылками на то, где они могут его получить, если им это необходимо;То же самое для Java.

OT, но интересно, взгляните на http://smallestdotnet.com

0 голосов
/ 16 июня 2010

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

http://37signals.com/webbased

Может быть, это простой способ, который вы ищете.

0 голосов
/ 16 июня 2010

За исключением нескольких исключительных случаев, язык программирования не имеет большого значения.

В настоящее время самый простой способ для пользователя запускать ваши программы - это писать их на JavaScript и публиковать на веб-странице.,Практически в каждом веб-браузере, как только пользователь открывает эту веб-страницу, программа запускается - пользователю больше ничего не нужно «загружать» или «устанавливать».

Второй по простоте (для пользователя), как упоминал Джастин Ардини, сделать его веб-приложением - почти каждый язык, о котором вы когда-либо слышали, может создавать CGI-скрипты.

Третий самый простой способ - опубликовать его как Javaвеб-апплет.Большинство веб-браузеров могут запускать его напрямую, но у вас может быть несколько пользователей, которые не смогут запустить его, пока они не обновятся.(Я слышал, что веб-апплеты Java могут быть написаны на дюжине разных языков, включая диалект Python, нацеленный на JVM - пользователи не могут заметить разницу).

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

Кроме того, вы, вероятно,столкнуться с пользователями, которые используют компьютеры Macintosh, Windows или Linux - вышеупомянутые методы будут работать на любом из них, но если вы используете один из следующих методов, независимо от того, для чего вы компилируете свою программу, он не будет работать наостальные два.

Следующий самый простой способ - создать один исполняемый файл «все в одном», который пользователи смогут загрузить, дважды щелкнуть и запустить.Есть много языков программирования, которые имеют инструменты разработки, которые могут делать это - C, C ++, Delphi и т. Д. - и ваш пользователь, вероятно, не сможет заметить разницу.

Следующий самый простой способсоздать единый пакет или установщик «все в одном», чтобы люди могли дважды щелкнуть мышью, чтобы установить ваше приложение;и потом они смогут запустить его.Во многих средах разработки есть способ объединить все, что нужно, в один установщик.Если ваша среда разработки не имеет встроенной или вы недовольны установщиком по умолчанию, вы можете проверить вопрос " Поиск решения с открытым исходным кодом для установщика Windows ".

0 голосов
/ 16 июня 2010

Прямой ответ на ваш вопрос о языках заключается в том, что да, некоторые языки (например, C, C ++, Ada, Pascal / Delphi, Fortran и т. Д.) Могут создавать программы, которые будут работать без среды выполнения, такой как .NET или JRE.,Плохая новость заключается в том, что (в зависимости от того, какой код вы пишете и как вы его пишете) вашей программе может потребоваться чуть больше, чем один исполняемый файл, поэтому для установки может потребоваться немного работы, а не только копирование файла и двойной щелчокдля начала.OTOH, я должен добавить, что довольно много программ имеют гораздо больше зависимостей, которые обычно необходимы, поэтому вы можете сделать установку намного быстрее и проще, чем обычно, если вы осторожны.

Вы можете включить правильныеустановщик для установки Java Runtime Environment или .NET на клиентском компьютере, если и только если это необходимо.Сложный способ - проверить его существование и запустить соответствующий установщик, если вы не можете его найти.Более простой способ - просто запустить установщик и дать ему понять, установлен ли он уже.

0 голосов
/ 16 июня 2010

Если ваша программа настолько проста, как вы говорите, я не вижу никакой причины иметь инсталлятор вместо простого исполняемого файла.Если вы запустите этот исполняемый файл, я думаю, что вам будет автоматически предложено загрузить .net Framework.Не уверен насчет Java, но, тем не менее, вы можете включить его в некоторый очень простой файл README.

1) Другие языки программирования, которые не интерпретируются как c или c ++.2) Уже ответил.

Я не знаю о статистике, но почти у всех, у кого есть Windows, есть .NET Framework и установлена ​​виртуальная машина Java.

0 голосов
/ 16 июня 2010
  1. Язык не имеет значения для общего числа пользователей.
  2. Вы можете проверить код источника , чтобы найти руководство по написанию пакета установщика.

Относительноиспользование .Net и других инструментов , необходимых для вашего приложения: это действительно ваше дело.У нас есть одно приложение на работе, которое требует установки .Net 2.0 перед установкой драйвера принтера.Я не думаю, что это очень дружелюбно для обычного пользователя.На мой взгляд, более профессионально проверить систему (через реестр или другим способом), чтобы увидеть, что установлено, а что нет.Проинформируйте пользователя о том, что необходимо и не установлено, а затем, по крайней мере, предоставьте ссылку.Там, где позволяет лицензирование, предоставьте дистрибутив и используйте ваш установщик для установки того, что требуется вашему приложению.

Несколько других советов для получения некоторого опыта в написании приложений - создание некоторых проектов с открытым исходным кодом.Затем перейдите к некоторым закрытым исходным проектам.Было бы неплохо начать что-то вроде календарного приложения.

0 голосов
/ 16 июня 2010

Для приложений .NET вы можете посмотреть Wix . Существуют проекты Wix, встроенные в VS2008 и выше, и вы можете скачать плагин для VS2005.

...