установка программ - PullRequest
       10

установка программ

0 голосов
/ 07 марта 2011

Это может быть очень глупый вопрос, но я все еще не до конца понимаю, и у меня была надежда, что кто-то здесь может заполнить пробелы для меня.

Я уже давно занимаюсь программированием. И создал несколько простых программ. ничего особенного, ничего большого. но когда вы загружаете что-то из Интернета, вы обычно получаете установочный файл, который устанавливает загружаемую программу. То, что я не понимаю, для чего. Я создал небольшое приложение с Delphi, которое сохраняет файлы, не очень большие. Это типы файлов, которые пользователь не собирается искать в папке, вы не сохраняете его в определенном месте. Мне было интересно, как я могу создать программу, которая создает папку, скажем, программные файлы и всегда сохраняет вещи там. Загрузка оттуда также. Кроме того, там будет файл application.exe, и при его установке будет добавлен ярлык для приложения.

возможно ли это с delphi?

1 Ответ

8 голосов
/ 07 марта 2011

Конечно, можно написать свою собственную программу установки с Delphi, но это было бы очень необычно.

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

Существует множество инструментов для создания программ установки:

  • InstallShield
  • InstallAware
  • NSIS
  • WiX
  • Wise
  • InnoSetup
  • и т.д.

Вы также говорите о написании и чтении файлов конфигурации программы. Вы должны быть осторожны с тем, где они находятся. Не следует помещать их в каталог Program Files, поскольку современные версии Windows не позволяют пользователям записывать в эти папки. Вот почему вы привыкли видеть диалоги UAC при установке программного обеспечения - им нужно получить повышенные права для установки.

Вместо этого вам следует сохранять файлы конфигурации программы в одном из множества возможных мест, предназначенных именно для этой ситуации, например, в папке CSIDL_COMMON_APPDATA.

...