Домашня » як » Чому всі програми не є портативними?

    Чому всі програми не є портативними?

    Це питання, яке нарікає на кожного, хто закохався в портативні програми: чому це не так все додатки портативні?

    Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно від SuperUser - підрозділу Stack Exchange, групування спільноти веб-сайтів з запитань та відповідей.

    Питання

    Читач від суперкористувача Том любить портативні програми чистої організації та хоче знати, чому все не є портативним:

    Нещодавно я намагався "встановити" матеріал набагато менше на моєму комп'ютері Windows (ненавидять інсталяторів - мені потрібно знати, де є програми…), замість того, щоб використовувати портативні або автономні версії програм,.

    Я їх все помістив у папку "Програми" на диску окремо від мого розділу Windows, тому, коли я перевстановлюю, я маю всі доступні програми з мінімальними зусиллями і з позитивного боку..

    Програми, такі як Office і Creative Suite, все ще вимагають від мене пройти тривалий процес встановлення, де тисячі випадкових бібліотек і інструментів перекидаються через мою систему.

    Чому Windows-додатки все ще потребують інсталяції? Чому ми не можемо просто перетягнути Photoshop в папку OSX і тільки вона працює? Хто-небудь ще зосередитися на портативних додатків, або я просто бути OCD про все це?

    Ми, звичайно, любителі портативних додатків, а також хотіли б дістатися до дна речей.

    Відповідь

    Співробітник SuperUser Девід Уітні пропонує деяке розуміння того, чому багато додатків не є портативними і як система Windows застосовує своєрідну угоду про перенесення:

    Інсталятори є результатом багаторічної еволюції, і трохи (спрощеної) історії допомагає зрозуміти, чому вони роблять те, що вони роблять ...

    Модель Windows 3.1 запропонувала конфігураційні файли стилю config.ini для кожної програми, підтримуючи спільні бібліотеки, які переходять у системні папки, щоб запобігти дублюванню та втраті дискового простору.

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

    Реєстр став роздутим через застосування не очищення після себе. DLL пекло сталося в результаті множинних версій однієї спільної бібліотеки, перезаписуючи один одного.

    .NET представила концепцію app.config (майже ini-файли позначають 2, на цей раз з дещо більшою структурою економії розробників, які витрачають час на написання ручних парсерів). GAC була введена до версій спільних збірок в спробі запобігти DLL Hell.

    У Windows XP і більше в Vista, Microsoft спробувала визначити простір користувачів як місце для зберігання даних користувача і конфігураційних файлів в одному стандартному розташуванні, щоб дозволити профайлам переходу та легкої міграції (просто скопіювати ваш профіль) з додатками, встановленими в програмних файлах.

    Тому я припускаю, що причиною є те, що «програми в Windows розроблені для того, щоб жити в одному місці, їх спільні залежності в іншому, а конкретні дані користувача в іншій», що дуже погано впливає на концепцію xcopying одного місця.

    … І це необхідно для налаштування облікових записів користувачів, налаштування та забезпечення дозволів безпеки, завантаження оновлень і встановлення служб Windows…

    xcopy є "простий випадок" і, звичайно, не найкраще підходить для всього.

    На жаль, для шанувальників усіх портативних пристроїв багато додатків, особливо великих додатків, таких як Office, залишатимуться міцно закріпленими і поширеними по всій операційній системі.


    Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.