Що саме робить інсталятор і навіщо мені він потрібен?


34

це, мабуть, нооб-питання того дня:

Тому я написав цю гру.

Тепер є файл .exe, який виконує роботу, папка з моїми прекрасними, красивими активами та купою .dll-файлів та інших речей, яких я, мабуть, не повинен чіпати. Щоб запустити гру, я копіюю всю партію на потрібний комп'ютер, двічі клацніть файл .exe і починаю знімати чувак. Так!

Але в чому саме різниця між цим та використанням інсталятора? Що ще робить інсталятор, крім копіювання файлів і виглядає більш професійно, ніж .zip-файл? Взагалі чимало виправлень / налаштувань, залучених під час спроби запустити гру на іншому комп'ютері? Я тестував свою гру на всіх комп'ютерах під керуванням Windows, я міг отримати свої жадібні пальці, і це чудово працює.


1
Ну, наприклад, у XNA, вам потрібен час виконання XNA. Або з SlimDX вам потрібен SlimDX.dll всередині вашого ігрового каталогу або в GAC.
Кікаймару

Гм, я це розумію. Але ті .dll файли, які мені потрібні (в моєму випадку sdl.dll та його міньйони), вже перебувають у тому самому каталозі, що і файл .exe, і вони копіюються, коли я копіюю решту. Що б інсталятор зробив інакше?
HumanCatfood

2
@Jan Кінцевому користувачеві не потрібно турбуватися про розміщення файлів і що ні. Це щось, що робиться для них.
Сидар

1
Щось подумати - наскільки «великою» є ваша гра? Тобто це невеликий EXE-файл у стилі інді, одна-дві DLL-файли та кілька зображень, чи це якась масивна річ, яка потребує встановлення всіляких режимів виконання. Якщо це щось порівняно невелике, файл EXE в zip може бути досить хорошим і може допомогти перешкодити користувачеві не бажати встановлювати випадкові ігри, які вони можуть захотіти видалити через п’ять хвилин гри.
Піку

1
Якщо говорити про інсталяторів ... щось, що часто не помічається, є гарним видаленням / видаленням. Я втратив підрахунок того, як часто мені доводилося видаляти залишені файли та / або ключі реєстру. Що особливо надихає, коли зазначені залишки створюють проблеми при перевстановці гри.
Вихідний

Відповіді:


34

Зазвичай інсталятор є, щоб полегшити роботу кінцевого користувача. Він поєднує наступне:

  • Розпакування
  • Створення довідників
  • Встановлення необхідних режимів виконання (перерозподіляється на кшталт: .Net, Visual C ++, Direct x)
  • Реєстрація в ОС (для подальшої чистої видалення)
  • Показуйте красиві скріншоти, щоб підготувати гравця до вашої гри, поки вона працює.
  • Пропонуючи користувачеві можливість зареєструвати свою гру
  • Завантаження оновлень для активів або патчів для гри
  • Додайте піктограми в меню "Пуск" або на робочий стіл
  • Встановлення правильних дозволів для різних каталогів ігор (папка temp, збереження каталогу тощо)
  • Просто встановіть це вже , дозвольте користувачеві бездумно клацати далі та приступати до гри!

Ну правда, я не замислювався над тим, що це може знадобитися для встановлення часу виконання. Дякую!
HumanCatfood

2
Крім того, не забудьте налаштувати права доступу до файлів! У вашій грі не гарантується доступ для запису до своєї папки (для збереження ігор тощо), якщо інсталятор не встановить її.
Nevermind

10
+1 Більшість кінцевих користувачів навіть не влаштовує розпакування файлу, тому інсталятор повинен запропонувати здоровий шлях встановлення за замовчуванням і "просто зробити це" для них. Багато кінцевих користувачів не знають, що таке файлова система, або як знайти файли за межами шляхів Документів за замовчуванням, які їм представлені. І, чесно кажучи, навіщо, чортве, вони навіть повинні знати? Подумайте про інсталятора як про магазин додатків для бідних людей, його потрібно грати в один клік, і не більше.
Оскар Дувеборн

Ну, це дійсно залежить від вашої цільової аудиторії.
API-Beast

3
Я також додав би послідовність до списку причин. Забезпечивши інсталятор, ви гарантуєте, що користувач отримує налаштування, яке відповідає іншим користувачам, інакше ви стикаєтесь з шаленими речами, такими як хтось розпаковує гру на робочий стіл і запускає її звідти (так, я бачив, що це відбувається). Використання послідовна і свідомо справну установки видаляє багато речей , які можуть піти не так, і полегшує роботу з усунення неполадок , коли все роблять помиляться.
Максим Мінімус

3

Інсталятор конспектує процес розгортання складних фрагментів програмної інфраструктури , яка зазвичай міститься в архіві, через зручний, самодостатній інтерфейс користувача .

Цей інтерфейс може бути графічним або на основі тексту, який виводиться в командному рядку, такому як оболонка unix (наприклад, bash). Що стосується графічних інсталяторів, найчастіше використовується так званий інсталятор-завантажувач, в останньому випадку сценарії встановлення, які можуть бути bash-скриптами, пакетними сценаріями Microsoft або іншою мовою сценаріїв, яка працює в командному рядку.

У найпростішому випадку програма - це просто виконуваний файл, при цьому операційна система знає, що робити з файлом, щоб запустити його. Файл програми може міститися в папці з папками та іншими допоміжними файлами, упакованими в один архів . У цьому випадку інсталятор може не знадобитися.

Для складного програмного забезпечення можуть бути бажаними цілі програмні платформи та тісна інтеграція з базовою інфраструктурою операційної системи , наприклад, для забезпечення авторських прав на програмний продукт.

Багато інсталяторів у Windows надають /eабо /extractпрапор. наприклад, setup.exe /eщоб дозволити вилучення вмісту архіву без встановлення сценарію встановлення. Нещодавно мені потрібно було зробити саме це .

Назустріч мобільності

Інсталятори майже стали нормою для надання професійного програмного забезпечення, незалежно від того, наскільки прості базові програмні засоби. Зі збільшенням кількості користувачів кмітливих користувачів на комп’ютері та бажанням перенести програми з одного робочого столу на інший, портативне програмне забезпечення , яке часто постачається в простому архіві, стає все більш популярним.

( Я не знаю, скільки всього часу я витратив на інсталяторів, але це, безумовно, порядок днів. )

Завданнями, якими може впоратися інсталятор, є:

  • розпакування (часто використовують екзотичні архіватори з високою компресією)
  • забезпечення вимог до системного обладнання
  • забезпечення достатнього місця на жорсткому диску
  • забезпечення вимог до виконання програмних платформ (наприклад, "перерозподіляються")
  • перевірка нових оновлень програмного забезпечення
  • завантаження програмного забезпечення з віддаленого сховища
  • створення та / або оновлення програмних файлів і папок
  • створювати файли конфігурації, записи реєстру або змінні середовища
  • встановити драйвери програмного забезпечення, змонтувати або відключити пристрої
  • збільшити доступність для щоденних користувачів, пояснюючи кроки встановлення, створюючи посилання, ярлики
  • рекламувати власне програмне забезпечення за допомогою закладок тощо ...
  • створити стимул для користувача фактично запускати програмне забезпечення, представляючи ключові точки програмного забезпечення під час встановлення, слайд за слайдом
  • створювати додатковий дохід за допомогою програмного забезпечення
  • налаштування модулів ядра та автоматично запуск компонентів (наприклад, демон, вікна-сервіси)
  • автоматичне виправлення програмного забезпечення
  • налаштування дозволів для папок, файлів та користувачів
  • створення GUID для з'єднання програмного забезпечення з певним екземпляром установки та, наприклад, запобігання переносимості

... Якщо ви можете придумати інші моменти, дайте мені знати, і я їх включу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.