Навіщо мені встановлювати програму на C: / безпосередньо?


14

Які причини встановлення деяких програм (за замовчуванням чи навіть вимоги) в C: / безпосередньо, а не, як більшість, у папку C: / Program Files /?

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

Спасибі!

Редагувати: Це питання стосується не конкретного програмного забезпечення, а, скоріше, причин, чому має сенс відхилитися від звичного способу. Я думав, що це може мати щось спільне з серверами, які слід постійно тривати, але це лише передумова, заснована на відсутність фактів взагалі, чому серверна програма не повинна працювати з C: / Program Files /, доки всі дозволи встановлюються. Те саме для файлів, потрібних для всієї системи, таких як файли встановлення драйверів.

Очевидно, це стосується лише Windows.


6
Установка програмного забезпечення є основною частиною циклу розробки, і якщо є конкретні причини, які можна було б розмістити в областях, що не входять до програмних файлів, це, звичайно, щось, що розробники можуть захотіти знати. Тому я б сказав, що це взагалі по темі.
GrandmasterB

Я думаю, що програми MS-DOS встановили себе на C: \, але, звичайно, Windows 10 не MS-DOS.
молодшийрубіст

Відповіді:


11

Немає реальної технічної причини встановлювати щось у папці безпосередньо на c: \ або розпаковувати драйвер у c :.
Це навіть проти посібників із розробки програмного забезпечення Windows, опублікованих Microsoft.

Але:
У випадку, якщо користувачеві потрібно доручити вручну запустити щось у цій папці, зручно мати змогу дати користувачу прості інструкції.
Як: Відкрийте "Мій комп'ютер", відкрийте C :, відкрийте [папку], а потім відкрийте програму "Установка".
Примушуючи такий шлях виправити таким чином, він відповідає всім користувачам, що значно полегшує життя технічної підтримки.
Це дуже часто трапляється для завантаження драйверів. Всі великі виробники, схоже, роблять це так.

Я працював довідковою службою першого ряду.
Ви не повірите, скільки користувачів щось завантажує, розпакуйте, отримайте телефонний дзвінок між ними і пізніше 15 хвилин не можете згадати, куди на своєму жорсткому диску вони поміщають розпаковані файли.
Потім вони викликають службу підтримки або технічну підтримку.
Якщо ви людина, яка обробляє ці дзвінки, ви дуже швидко почнете цінувати логіку розміщення цих файлів безпосередньо в C: \


4
Крім того, "C: \ програмні файли" залежать як від локальної, так і від архітектури процесорів (x86 проти x64), тоді як "C: \" - ні. "% ProgramFiles%" не залежить від локальної локальності, але, як правило, бентежить напів кмітливих користувачів, які не вважають, що це виглядає як справжній шлях, або не мають правильних знаків відсотків. У 64-бітних системах це все ще буде неправильним шляхом для 32-бітних додатків.
абстракс

1
в цьому випадку я думаю, що простіше витягнути файли на робочий стіл, ніж C: \
phuclv

@phuclv Не дуже, особливо з Windows 8 та новіших версій. Папка Desktop має дуже складні дозволи файлової системи (особливо, коли використовуються роумінгові профілі), які можуть заважати інсталятору. Його також можна перенаправити кудись інше (можливо, до мережі або місця зберігання). І багато вірусних сканерів просто не довіряють своєму інсталятору, якщо ви спробуєте запустити його з Desktop. Що стосується Windows 10 AppLocker - це ще одна можлива річ, яка може перешкоджати роботі з робочого столу (у багатьох компаніях налаштовано блокувати запущені матеріали з робочого столу)
Тонні

7

Які причини встановлення деяких програм (за замовчуванням чи навіть вимоги) в 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:безпосередньо.

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


і Довжина речі. c:\program filesце довго, щоб набрати .. може використовувати вкладку, але не, якщо це параметр. І часто каталоги в ньому, як правило, довгі. C:\Program Files\Microsoft Visual Studio 10.0 infact% PATH% насправді не може впоратися з багатьма довгими каталогами, оскільки це обмеження в 2 або 4 тисячі символів
барлоп

0

Ви заявляєте, що це стосується лише Windows, але це програмне забезпечення може бути перенесено на / з інших операційних систем. Також можуть бути відмінності між версіями Windows, наприклад, деякі перекладені версії Windows також мають перекладене ім'я цієї папки, і користувач також може змінити місце розташування (наприклад, замість "C: \ Program Files" я використав "P: \" для деякий час). Це все може виявити програмне забезпечення, але простіше використовувати фіксовану локацію. Також у випадку з драйверами може знадобитися знати, де знаходяться файли одночасно, що ця інформація недоступна в ОС.


0

Деякі старіші програми (ера DOS, Win 3.1) не могли прийняти пробіли або "довгі" імена на шляху, звідки вони відкриті. Хоча це сьогодні досить рідко.

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

З іншого боку, драйвери призначені для управління операційною системою (Диспетчер пристроїв-> Оновлення драйверів) - якби вони були всередині інсталятора, диспетчер пристроїв не мав би доступу до них для їх встановлення. Вони не є гнучкими щодо того, куди їх помістити.

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


0

Деякі програми виходять з ладу, коли вони існують у шляху з пробілами (тобто "Файли програм"), тому вони встановлені до кореня C :.

Однак, я б покладав сумніви, що багато програмістів ліниві, і просто вирішили розгорнути програму на C: \ за замовчуванням, просто з зручності.


0

TLDR; відокремити важливі програми, від яких можуть залежати інші програми, від звичайних програм, таких як ігри / браузери / будь-що інше, що ви встановили.

Я думаю, що ще одна велика причина, яку люди вирішили встановити на C: \ стосується того, чому вони створили програмні файли в першу чергу: відокремлювати програми від системних файлів таким же чином, як створена папка Користувачі для відокремлення файлів користувача від програми / системи файли.

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

Я знаю, що це стара публікація, але її не заблоковано, і мені було що додати.

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