2011-03-07 3 views
0

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

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

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

+1

The InnoSetup, упомянутый Дэвидом, написан в Delph и Open Source, поэтому * да, это возможно в Delphi. * –

+0

* В Delphi (и любой другой основной язык) возможно все что угодно. –

ответ

8

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

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

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

  • InstallShield
  • InstallAware
  • NSIS
  • WiX
  • Мудрый
  • InnoSetup
  • т.д.

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

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

+6

Я бы порекомендовал InnoSetup. –

+1

+1 для InnoSetup. – Stuart

+1

+1 для AppData. –

Смежные вопросы