что такое каталог установки
Что такое директория и папка в компьютере
Директория – это объект в файловой системе компьютера. Это название употреблялось ранее в информатике, сейчас же употребляются слова «каталог» или «папка». Слово произошло от английского – directory. В системе она указывается в виде полного пути к необходимому ярлыку, например, «C:\Program Files\My_Program».
Обычная файловая система содержит множество каталогов, которые позволяют привести систему к единому порядку. Это делается для того, чтобы пользователю было легче найти что-либо на диске в операционной системе (ОС).
Что такое директории установки
Директорией установки называется место, куда устанавливается та или иная программа, также может называться путем установки. Это может быть игра, программа, или другие утилиты. Каждое такое приложение должно находится в определенном месте в ОС. Часто начинающие геймеры сталкиваются с проблемой, когда игра или программа требует установить дополнительные файлы или компонент в директорию, куда был установлен софт.
Разберем на примере: «C:\Program Files\Games\Название_игры». Это путь к папке в компьютере, которую пользователю необходимо будет открыть, чтобы попасть в то место, куда установлен софт.
А папка с именем «Название_игры» — это и есть тот самый каталог установки. Все они лежат в корне диска С, если не было установлено другое место при инсталляции.
Корневая папка и как ее найти
Так называется система хранилищ системной информации, в которой она расположена в строго иерархическом порядке. Обеспечивает всю работу операционной системы Windows, Linux и взаимодействие документов.
В Виндовс это имена дисков, которые были созданы пользователем на компьютере. Их количество зависит от того, на сколько логических частей разбит физический жесткий диск. Для операционной системы Windows корневым каталогом обычно является диск C (если путь не был изменен при установке системе). Для ОС Linux им будет служить «/». А в ней уже находятся системные файлы и документы.
В отличии от Виндовс в Линуксе всегда один корневой каталог. Для того, чтобы найти его в Виндовс следует открыть ярлык «Мой компьютер» на рабочем столе.
Что такое директория игры
Так называется каталог с установленной игрой. Обычно он хранится на диске C в папке Program Files, но в случае инсталляции в другой каталог расположение изменится.
Как найти директорию
Поиск по ярлыку
Путь к месту где расположена нужная программа или игра можно отыскать несколькими способами. Например, по ярлыку:
Поиск по умолчанию
Для поиска можно использовать стандартные средства ОС:
Поиск на компьютере
Третьим способом будет поиск на компьютере. Заходите в «Мой компьютер», открываете диск С, в правом верхнем углу вводите название в строку поиска и ищете необходимые файлы в папках. Это отнимет больше времени, нежели использование первых двух способов, поскольку система проводит анализ всех элементов попадающих в отбор.
Как создать каталог на компьютере
Для создания каталога на компьютере необходимо сделать следующее:
Свойства папки
Каждая папка имеет свои свойства — ее можно скрывать от пользователей, защищать от копирования, случайного изменения. Если кликнуть на нее правой клавишей мыши и выбрать «Свойства», то можно увидеть полезную информацию: занимаемый объем, место расположения, дату создания, а также сколько подпапок и файлов она содержит.
Вкладка «Настройка» отвечает за внешний вид, а «Доступ» и «Безопасность» позволяют включать (расшаривать) доступ по сети и задавать права на использование другим локальным и сетевым пользователям.
Основные операции
Существует ряд стандартных операций, которые можно производить над папками:
Большинство начинающих пользователей компьютеров несколько неправильно понимают, что такое папка. Это является результатом того, что юзеры просто не ориентируются в мире компьютерной терминологии. Попробуем разъяснить понимание этого термина на конкретных примерах, а также рассмотрим его трактовку с научной (но понятной) точки зрения.
В любой современной операционной системе имеется понятие папки, каталога или директории, что одно и то же.
Как правило, в них находятся отдельные файлы или дополнительные папки. Чтобы было проще понять организацию такой структуры, можно привести простейший пример.
Представьте себе, что у вас есть несколько вещей, которые вы складываете в ящик. Так вот, папка – это ящик, а вещи – файлы. В случае если в одной директории имеются вложенные каталоги, можно привести и более интересное сравнение со шкафом или комодом с несколькими ящиками или отделениями для хранения вещей. Тут аналогия та же. Основная папка – это шкаф, отделения – вложенные подпапки, в которых хранятся вещи (файлы).
На крайний случай организацию директорий со вложенными папками можно сравнить даже с матрешкой, в которой присутствует множество вставляемых в нее более мелких фигурок.
Папка Windows: толкование с точки зрения компьютерных систем
Но это было только самое простейшее сравнение, которое, увы, к организации файловой системы имеет лишь косвенное отношение. Дело в том, что древовидная структура организации папок и файлов, которая отображается в том же «Проводнике» Windows-систем или в любом другом файловом менеджере, принята только для удобства использования или поиска содержимого. На самом деле она не имеет ничего общего с тем, что есть на самом деле.
То же самое можно сказать и о процессе дефрагментации жесткого диска, когда все элементы, наиболее часто используемые юзером, перемещаются в самые быстрые области жесткого диска. Опять же, расположение всех объектов может быть совершенно разным.
Тогда что же такое папка? На самом деле папка, каталог или директория – это файл, не имеющий расширения, который является объектом, содержащим информацию об объединении каких-то элементов в одну группу (и часто без общих признаков). Просто так удобнее управлять ими.
Создание каталогов
Что же касается того, как создать папку, то в Windows-системах для этого обычно используется несколько методов. Первый состоит в том, чтобы использовать меню ПКМ на любой свободной области экрана с выбором соответствующей строки.
Второй является практически аналогом первого, но создание каталога производится в файловом менеджере через такой же пункт в главном меню «Файл» (строка «Создать папку»). Иногда при установке некоторых программ тоже может быть показано уведомление для установочной директории: «Создать папку для того-то и того-то?». Также можно использовать и быстрый способ в виде сочетания Ctrl + Shift + N.
Открытие директорий
Что же касается того, как открыть папку, то самым простым решением является использование стандартного двойного клика для развертывания ее содержимого.
Не нравится такой способ? Можно пойти другим путем и использовать меню ПКМ на отмеченном каталоге с выбором строки открытия.
Наконец, в некоторых программах или в настройках системы можно встретить указание на открытие директории, которое, в смысле показа ее содержимого, немедленного фактического результата не дает, но потом в процессе работы приложения данные из того, что в ней находится, будут задействованы автоматически.
Чтобы было понятнее, приведем один пример. В музыкальном секвенсоре FL Studio по умолчанию установлен собственный каталог, в котором должны находиться VST-инструменты и эффекты. А ведь пользователь может устанавливать их в другие папки или даже разделы жесткого диска.
Сама по себе программа их распознать, если они находятся в другой локации, не может. Поэтому в настройках просто указывается путь к нужной директории и запускается сканирование. Только после этого все распознанные синтезаторы и эффекты станут полностью работоспособными. И открытие папки с виртуальными инструментами будет производиться в фоновом режиме при старте программы.
Что такое папка и каталог папок
Возможно вы уже видели на своём компьютере графические элементы, при открытии, в которых обычно находятся другие файлы, знайте – это самая обыкновенная компьютерная папка. Но эта не вся основная информация, которую нужно знать, для понимания того, что такое папка.
Папкой называют место, в котором структурируется информация.
Папка — это файл в котором находятся другие файлы по какой-либо типологии объединения тематики.
Это не обязательное условие – логика размещения файлов в папке может быть свободной, если эта папка создана пользователем. Папку можно сравнить с матрёшкой, которая содержит в себе другие папки с файлами. При большом количестве разных папок, вложенных друг в друга, может получиться целое дерево из информации, связанной между собой. Отличием папки от архива является отсутствие возможности сжатия и распаковки файлов. Словом, основоположником термина Папка является англ. слово Folder.
От первой папки до последней подпапки существует адресный путь, показывающий всё количество промежуточных папок, в которые вложена последняя подпапка. Все папки в адресе разделяются обратным слешем или слешем, в зависимости от установленной операционной системы.
Адресный путь, является директорией, которую часто запрашивает установщик различных программ, такую директорию называют директория установки.
Существуют системные папки со своим деревом подпапок. На основании такого структурирования операционная система распределяет свои информационные ресурсы, с которыми на программном уровне она и будет работать. Такая система папок называется каталогом.
Каталоговая система организации работы
Что такое папка было разобрано ранее, а вот что такое каталог? С помощью каталога (системы вложений папок друг в друга) организуется работа операционной системы. В каждой папке каталога файлы структурированы по выполняемым функциям. Такая организация ускоряет работу всей системы, сокращая время поиска при обращении к файлам определённой функциональной группы. Существует несколько видов каталогов.
В разных операционных системах работа каталогов организована по разным принципам
Такой каталог организован с содержанием нескольких индексных дескрипторов (inode) структуры данных. Эти дескрипторы содержат метаинформацию о том, чем является каждый стандартный файл и каталог, и остальные информационные объекты файловой системы. Такие каталоги в современных операционных системах, таких как Linux, организованы по стандарту FHS.
Этот стандарт определяет определённую структурную иерархию файлов в каталоге. То есть, он прописывает в какой папке будет находиться другая папка, и какая именно. Например, база данных при таком стандарте всегда будет находиться в папке «/etc/passwd». И так далее для каждой папки определено название, место в каталоге и список функциональных файлов. UNIX, так же может работать и с другими способами организации каталогов.
Каталог Windows
Каждая папка имеет свои свойства. Папки могут быть скрытыми, они могут быть защищены от копирования и изменения. При правом щелчке мыши по папке, выберите обозначение Свойства и получите полную информацию о занимаемом дисковом пространстве папки (количество информации в мегабайтах), количестве вложенных файлов, о том сколько свободного места осталось на диске, о правах доступа к папке (индивидуальные или общий ресурс), а также сможете произвести некоторые изменения в настройках.
Вы можете сделать папку скрытой или наоборот открыть общий доступ к ней по сети. Вы можете сделать папку открытой для сетевого пользования. Есть возможность определить права доступа к папке у разных пользователей одного компьютера.
Свойства папки позволяют произвести изменения внешнего вида папки путём установления какой-либо картинки и можете поменять значок, который будет вместо старой иконки. То есть некоторые шаблоны для папок популярной Windows доступны для изменения. Шаблоны можно поменять для каждой отдельной папки или установить изменённый шаблон для всех папок пользователя.
Что такое папка, а также что такое каталог и директория были рассмотрены в материале стать. Подводя итог, можно прийти к выводу, что папка – это хранилище или по-другому контейнер, для информации, а самым лучшим её применением для пользователя, является структуризация скопившейся информации.
Изменить расположение каталога установки файлов программы по умолчанию в Windows
Microsoft рекомендует папку C: \ Program Files для установки по умолчанию. Это соглашение, которое обеспечивает надлежащее взаимодействие между вашей программой и приложениями и моделями безопасности ОС. Таким образом, после установки программ они по умолчанию отправляются в C: \ Program Files на компьютере.
Однако это можно изменить, выбрав другую папку, местоположение или раздел. Чтобы изменить папку установки по умолчанию, необходимо изменить данные в ключе ProgramFilesDir и выбрать новый путь для папки установки.
Windows использует системный диск для установки любых новых приложений, то есть, если ваша Windows установлена на диске C, папка по умолчанию, в которой все устанавливаемые вами приложения автоматически отображаются как C: \ Program Files, если, конечно, вы не измените вручную при установке местоположений приложения.
Обратите внимание, что Microsoft не поддерживает изменение местоположения папки Program Files путем изменения значения реестра ProgramFilesDir. В нем говорится, что если вы измените расположение папки Program Files, у вас могут возникнуть проблемы с некоторыми программами Microsoft или с некоторыми обновлениями программного обеспечения.
Изменить каталог по умолчанию Program Files
Если вы почти всегда предпочитаете НЕ устанавливать на системный диск, а вместо этого на другой раздел, скажем, на диск D, то вместо того, чтобы каждый раз менять расположение по умолчанию, вы можете редактировать реестр следующим образом:
Откройте Regedit и перейдите к следующей клавише:
Теперь на правой панели найдите значение ProgramFilesDir и/или ProgramFilesDir (x86) в зависимости от того, является ли ваша Windows 32-разрядной или 64-разрядной. немного.
Дважды щелкните по нему, и в открывшемся окне измените его значения данных с C: \ Program Files, например, D: \ Program Files.
Перейдите по этой ссылке, чтобы узнать, как изменить расположение по умолчанию папки «Документы» или личных файлов профиля или изменить место установки приложений Магазина Windows 8 по умолчанию или изменить каталог загрузки по умолчанию в Internet Explorer.
Windows 10 упрощает работу. Вы можете легко переместить приложения Windows 10 на другой диск и изменить место установки.
Inno Setup: создание инсталлятора на примере развертывания C# приложения
Я не являюсь профессиональным программистом. В том смысле, что не зарабатываю денег этим ремеслом, а использую свои навыки в качестве инструмента для основной, научной, деятельности. Поэтому все мои «поделки» живут лишь отведенный им на решение конкретной задачи период и не выходят за пределы каталогов проекта. Кроме того, уже довольно давно я отошел от разработки под ОС Windows, ибо Linux для решения моих задач более удобен.
Однако ученым тоже хочется кушать, прилично одеваться и заправлять машину. Поэтому (правда довольно редко) возникает необходимость немного пофрилансить.
Недавно мне подкинули не слишком сложный проект — одна фирма хочет написать аналог программы, имеющейся у другой. Немного реверсинга, немного кодинга, в целом проект вполне обыденный. Однако тут же возник вопрос о создании инсталлятора — клиент ведь желает продукт «под ключ», чтобы клацнуть на «сетап», понажимать «Далее» и получить готовую к работе программу.
Созданием инсталляторов я не занимался никогда. Поэтому данный вопрос был основательно «загуглен», в числе прочего попалась и такая статья с Хабра. Выбор средств для подобной задачи довольно широк, и включает как проприетарные, так и открытые продукты. Вот список того, что я «пощупал»
Так что в статье мы будем рассматривать пример использования Inno Setup, для которого имеется полезный фронтэнд Inno Script Studio, позволяющий выполнять создание простых инсталляторов с помощью мастера и менять настройки через GUI. GUI понадобился мне для первого знакомства, с продуктом, но мы не будем уделять ему большого внимания — мой «линукс головного мозга» в последнее время всё больше и больше уводит меня от желания использовать разного рода «мастера» (это субъективно, прошу не пинать). Мы рассмотрим хардкорный способ написания скрипта с чистого листа.
1. Установка, настройка и простой (но довольно солидный) скрипт
Думаю, что скачать программу с официального сайта и установить её труда не составит. Запускаем Inno Setup Compiler и видим такое окно
Пугающе уныло встречает нас Inno Setup.
Что это? По сути это просто-напросто редактор для набора скриптов, снабженный подсветкой синтаксиса и кнопками компиляции и запуска. От нас ждут, что мы начнем набирать в этом окне текст скрипта, определяющий логику работы будущего инсталлятора. Ну так и не будем терять время.
Прежде всего определим необходимые константы
Эти строки будут часто встречаться в коде скрипта, поэтому определяем их, как и в C, с помощью дерективы #define
Тело скрипта разделяется на секции, каждая из которых несет свое функциональное назначение. Обязательная секция [Setup] задает глобальные параметры работы инсталлятора и деинсталатора.
Путь, по умолчанию предлагаемый инсталлятором для установки определяем опцией DefaultDirName. При этом переменная — это путь в каталог Program Files соответствующей разрядности. Опция DefaultGroupName определяет имя группы программы в меню «Пуск». Обратите внимание на то, что для указания имени приложения мы используем данное нами выше макроопределение Name, обрамляя его фигурными скобками и решеткой.
Пара опций OutputDir и OutputBaseFileName задают каталог, куда будет записан скомпилированный «сетап» и его имя (без расширения). Кроме этого, указываем где взять иконку для test-setup.exe опцией SetupIconFile.
Последние опции в этой секции определяют алгоритм сжатия (LZMA) и указывают, что все файлы сжимаются одновременно, а не по отдельности (SolidCompression) что ускоряет процесс распаковки при большом количестве однотипных файлов.
В хорошем исталяторе должна быть поддержка нескольких языков. Включаем её в наш «сетап», используя опциональную секцию [Languages]. При отсутствии данной секции будет использоваться английский язык.
Каждая строка в данной секции задает один из используемых при установке языков. Синтаксис строки таков
в качестве разделителя параметров используется точка с запятой. Параметр Name говорит сам за себя — «имя» языка, допускаются общепринятые двухбуквенные сокращения («en», «ru», «de» и так далее). Параметр MessagesFile сообщает компилятору в каком месте взять шаблон сообщений, выводимых при инсталляции. Эти шаблоны берем в каталоге компилятора Inno Setup, о чем мы сообщаем директивой compiler. Для английского языка годится шаблон Default.isl, для русского — Languages\Russian.isl
Параметр LicenseFile задает путь к файлу с текстом лицензии на соответствующем языке.
Обычно установщик предлагает нам, например, определится, хотим мы или не хотим создать ярлык на рабочем столе. Такие опции установки определяются необязательной секцией [Tasks]
Здесь Name задает имя операции — «desktopicom» — создание иконки на рабочем столе; Description — описание чекбокса с опцией, которое увидит пользователь. Конструкция
задает стандартный текст сообщения, соответствующий выбранному в начале инсталляции языку. Параметр GroupDescription — заголовок группы чекбоксов с опциями. Параметр Flags задает определенные действия и состояния элементов управления, в данном случае указывая, что галочка «создать ярлык на рабочем столе» должна быть снята.
Теперь укажем, какие файлы надо включить в дистрибутив и где их надо поместить при установке. Для этого используется обязательная секция [Files]
Наконец, чтобы всё было красиво, опционально укажем компилятору, где брать иконки для размещения в меню программ и на рабочем столе
Тут я указываю, что для группы в меню «Пуск» и для рабочего стола иконку надо брать из исполняемого модуля. Естественно, что иконка должна быть в него «вкомпилена», иначе в требуемых местах мы увидим стандартный значок из коллекции винды.
Итак, всё вроде готово. Жмем Ctrl + F9 и пытаемся собрать инсталлятор. Если не допущены синтаксические ошибки, начнется процесс сборки
Inno Setup собирает инсталлятор
После успешной сборки инсталлятор можно запустить, нажав F9. Если Вы работаете под учеткой с ограниченными правами (а я работаю в винде именно так), то придется полезть в каталог с результатами компиляции, который мы указали в скрипте, и запустить инсталлятор с правами админа
Запуск инсталлятора под ограниченной учетной записью
В итоге мы увидим до боли знакомое каждому пользователю Windows окно выбора языка
приветствие мастера
лицензионное соглашение
ну и так далее. Приятно, что по умолчанию используется лаконичный дизайн мастера, без рюшечек (которые при желании можно добавить)
Ну что сказать? Ура! Мы написали свой первый «сетап» и могли бы радоваться, но
Вы не заметили, что мы о чем-то забыли? Приложение, созданное на C# не будет работать без фреймворка, с которым оно было собрано, если таковой отсутствует в системе. Соответствующий фреймворк надо установить, а для этого необходимо
Значения в реестре, которые необходимо проверить приведены в официальной документации Microsoft, в статье я приведу краткую выжимку из неё
Для реализации произвольной логики работы инсталлятора в Inno Setup предусмотрена секция [Code]. В пределах этой секции размещается код реализующих логику функций на языке Pascal. Содежимое этой секции мы вынесем в отдельный файл dotnet.pas и включим в основной скрипт дерективой #include
хотя можно набить код и непосредственно в секции [Code]. Надо помнить, что внутри этой секции используется синтаксис Pascal, и комментарии предваряются последовательностью «//» вместо используемой в основной части скрипта точки с запятой.
Не смотря на обилие кода, логика его работы достаточно проста — в зависимости от значения параметра version с помощью функции RegQueryDWordValue(. ) читается значение соответствующего ключа реестра и сравнивается с требуемым значением (смотрим таблицу 1). Для версии 4.5 дополнительно передаем номер релиза в параметре release.
Для того, чтобы перед началом установки проверить наличие фреймворка и сообщить пользователю о предпринимаемых действиях используем Callback-функцию InitializeSetup()
Сам запуск инсталляции фрейворка можно выполнить после установки основной программы, поэтому включаем в скрипт секцию [Run], в которой указывается, что необходимо запускать по окончании установки
Обратите внимание на то, что мы сначала указываем имя секции [Run], чтобы закрыть секцию [Code], а затем пишем комментарий начинающийся с точки с запятой. Это необходимо из-за различия синтаксиса основного скрипта и секции [Code], в противном случае при компиляции мы получим синтаксическую ошибку.
В секции задается путь к инсталлятору фреймворка — предварительно он распакован нами во временный каталог (переменная содержит путь к веременному каталогу); задаются параметры командной строки. Опция Check определяет условие запуска инсталляции — это отсутствие в целевой системе нужного нам фреймворка. Опция StatusMsg определяет сообщение, которое увидит пользователь в окне инсталлера.
Снова компилируем наш проект. Теперь, при запуске на «чистой» винде инсталлятор выдаст сообщение
Майкрософт просит нас принять лицензию.
После этого мы получаем работоспособное C# приложение установленное «по взрослому»
Заключение
Я не профессионал и во многих вещах могу ошибаться. Прошу отнестись к этому с пониманием. Статья писалась нубом для нубов, её основная цель — задать вектор поиска при решении задачи написания инсталлятора. За остальными вопросами можно обратится к документации, поставляемой вместе с Inno Setup.
Код данного примера доступен в моем репозитории на Github. «Кракозябры» в комментах вызваны несовпадением кирилических кодировок. Для себя всегда пишу английские комментарии, но для лучшего понимания кода допустил этот ляп. При скачивании в винде всё просматривается замечательно, так что прошу простить мне и эту несуразность.
В остальном, полагаю «хаутушка» вышла достойной и благодарю за уделенное мне внимание.