13

По каким причинам некоторые программы устанавливаются (по умолчанию или даже по требованию) непосредственно в C:/, а не, как большинство, в папку C:/Program Files/?

Кроме того, почему так часто распаковываются драйверы? Я видел много папок Intel, Nvidia, ATI и Xerox на дисках C:/-, хотя для меня нет никакого смысла вообще использовать их по умолчанию, а не на рабочем столе или в других пользовательских папках. Файлы не должны быть обязательными для всей системы, поскольку они являются только временными.

Спасибо!

Изменить: Этот вопрос не о конкретном программном обеспечении, а о причинах, почему имеет смысл отклоняться от обычного способа. Я думал, что это может иметь какое-то отношение к серверам, которые должны продолжать работать, но это всего лишь догадка, не основанная на фактах, почему серверная программа не должна запускаться из C:/Program Files/, если все разрешения установлены. То же самое возможно для общесистемных необходимых файлов, таких как установочные файлы драйвера.

Очевидно, это касается только Windows.

8 ответов8

10

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

Но:
В случае, если пользователю необходимо дать инструкции для запуска чего-либо в этой папке вручную, удобно иметь возможность давать пользователю простые инструкции.
Как: Открыть "Мой компьютер", открыть C:, открыть [папку], а затем открыть программу "Настройка".
Путем принудительного исправления пути, подобного этому, он согласован для всех пользователей, что значительно облегчает жизнь технической поддержке.
Это очень часто имеет место для загрузки драйверов. Все крупные производители, кажется, делают это так.

Я работал в 1-й линии службы поддержки по случаю.
Вы не поверите, сколько пользователей загружают что-то, распаковывают его, получают телефонный звонок в промежутке до 15 минут спустя, не могут вспомнить, где на жестком диске они разместили разархивированные файлы.
Затем они звонят в службу поддержки или техническую поддержку.
Если вы человек, который обрабатывает эти вызовы, вы очень быстро начнете ценить логику размещения этих файлов непосредственно в C:\

6

По каким причинам некоторые программы устанавливаются (по умолчанию или даже по требованию) непосредственно в C:/, а не, как большинство, в папку C:/Program Files/?

Некоторые разработчики не следуют стандартным соглашениям, потому что они либо не знают, либо слишком ленивы, чтобы делать «правильно». Многие разработчики-любители также будут жестко кодировать пути в свои программы и / или установщики, а не запрашивать среду (например,% TEMP%,% APPDATA%,% PROGRAMFILES%).

Кроме того, почему так часто распаковываются драйверы? Я видел много папок Intel, Nvidia, ATI и Xerox на дисках C:/-, хотя для меня нет никакого смысла вообще использовать их по умолчанию, а не на рабочем столе или в других пользовательских папках. Файлы не должны быть обязательными для всей системы, поскольку они являются только временными.

Как предположил Тонни, это отчасти для упрощения технической поддержки, но также и для вашего удобства. Когда вы извлекаете файлы драйверов в место, которое легко найти и сделать доступным для всех пользователей, система также легко находит файлы снова, если вам необходимо переустановить драйверы. К сожалению, большинство поставщиков не очищают старые файлы, поэтому вы можете получить гигабайты старых пакетов драйверов, которые больше никогда не будут использоваться. В некоторых случаях может быть более целесообразно извлечь их в% TEMP% или в учетную запись "Все пользователи", и некоторые поставщики делают именно это.

2

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

То, что Microsoft переместила папку «Пользователи» в корневой каталог для Vista и 7, вероятно, является хорошим показателем того, сколько людей на практике предпочитают корневой каталог (по умолчанию «c:»).

1

Пространства Причина в пространствах.

В C:/Program Files есть пробел. Если вы поместите это в команду оболочки как есть, она будет интерпретирована как два отдельных аргумента. C:/Program и Files . Это, конечно, очень легко исправить, просто заключив в кавычки "C:/Program Files" или C:/Program\ Files , однако, некоторым программам это удается. Чтобы обойти эту проблему или облегчить работу ленивых сценаристов, программы иногда устанавливаются непосредственно в C: .

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

0

Вы заявляете, что это касается только Windows, но программное обеспечение может быть перенесено в / из других операционных систем. Кроме того, могут быть различия между версиями Windows, например, некоторые переведенные версии Windows также переводят это имя папки, и пользователь также может изменить местоположение (например, вместо «C:\Program Files» я использовал «P:\» для какое-то время). Все это может быть обнаружено программным обеспечением, но проще использовать фиксированное местоположение. Также в случае драйверов может быть необходимо знать, где находятся файлы в тот момент, когда эта информация недоступна из ОС.

0

Некоторые старые программы (эпоха DOS, Win 3.1) не могли принимать пробелы или "длинные" имена в пути, откуда они открываются. Это довольно редко в наши дни, хотя.

Установщики должны получить настройки об установке системы. Предполагается, что эти настройки включают местоположение директории Program Files среди других деталей. Законные программы упакованы в установщики, которые подключаются к этой информации и отслеживают, если вы переходите от предлагаемых по умолчанию настроек.

С другой стороны, драйверы предназначены для обработки операционной системой (Диспетчер устройств-> Обновить драйверы) - если бы они находились внутри установщика, Диспетчер устройств не смог бы получить к ним доступ для их установки. Они не гибки в том, где вы их положили.

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

0

Некоторые программы работают со сбоями, когда они существуют в пути с пробелами (например, "Program Files"), поэтому они установлены в корне C:.

Тем не менее, я бы поспорил, что многие программисты были ленивы и просто решили выложить свою программу в C:\ по умолчанию, просто из соображений удобства.

0

TLDR; отделить важные программы, от которых другие программы могут зависеть, от обычных программ, таких как игры / браузеры / все остальное, что вы установили.

Я думаю, что еще одна важная причина, по которой люди выбирают установку на C:\, связана с тем, почему они в первую очередь создали Program Files: для разделения программ из системных файлов таким же образом, как создается папка Users, для отделения пользовательских файлов от программы / системы. файлы.

Поэтому, если разработчик не хочет, чтобы пользователь удалил его, потому что он не помнит, для чего он (думайте, упакованные элементы разработки, такие как аудио-плагины, или целые языки, такие как python/ruby), тогда они устанавливают программу на диск C:\, чтобы вроде как включить его в "системные файлы", но не помещать в папку Windows по понятным причинам.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .