На платформе Windows большинство крупных приложений поставляются со своим собственным установщиком, который настраивает папки C:\Program Files
, возможно, в некоторых других местах, и, возможно, добавляет некоторые ключи реестра и т. Д.
Но есть все еще довольно много инструментов, которые состоят только из .exe
или, может быть, также README
и из .dll
или двух.
Как мне установить такие инструменты? Прямо в C:\Program Files
? Все в одной подпапке под C:\Program Files
? Где-то под C:\Users\Me
? Где-то совсем другое?
Или, может быть, другие подходы к инструментам только .exe
с теми, у которых есть и другие файлы, или, может быть, только те, с которыми .dll
нужно обращаться по-разному ...
Есть ли стандартный принятый способ сделать это? «Лучшая практика»? Если ответ зависит от версии Windows, я использую Windows 7.
В частности, то, что может поразить людей, поскольку очевидный ответ, кажется, имеет подвох:
Я пытался вручную создать новые подпапки в C:\Program Files
. На самом деле я думал, что сделал это раньше, но Windows выдает диалоговое окно « Доступ к целевой папке запрещен» . Это заставило меня подумать дважды, а не слепо нажимать « Продолжить» .
Исходя из предположения о том, что за эти годы много раз у меня возникали лучшие умы, чем я, я хотел бы спросить сообщество, не пришла ли какая-то «лучшая практика».
C:\Program Files
другом месте или где-то еще, и я предоставляю информацию о потенциальном барьере дляC:\Program Files
того, чтобы быть очевидным решением.Ответы:
использование
C:\Tools
или
C:\Users\<user>\Tools
Я использую много небольших программ без установщика и рекомендую следующее:
C:\Tools
C:\Tools
C:\Tools\ProgramName
C:\Tools\_SysInternals
потому что их многоЯ просто перехожу
C:\Tools
с машины на машину при миграции, работает как шарм.Практический образец (сокращенный листинг):
Я надеюсь, что это дает представление.
РЕДАКТИРОВАТЬ: Расширенная информация
Я полагаю, что при установке в вашем вопросе, как я должен установить такие инструменты? вы на самом деле имеете в виду ручную настройку, что-то вроде копирования файлов.
Правило большого пальца. Используйте созданные вручную папки для файлов, сохраняемых вручную. Позвольте системным папкам использоваться (установочными) процессами, которые вы не контролируете Вы сразу получите возможность узнать, какой контент является «вашим» (и вы можете свободно копировать его), а каким приложением управляет установщик.
Поэтому при установке вручную (путем копирования) держитесь подальше от
C:\Program Files
- найденные здесь программы не могут быть просто перенесены, их необходимо переустановить (дает хороший совет по миграции)C:\Program Files (x86)
- как указано выше, но в 64-битных системах сюда идут 32-битные программы (может дать подсказку, чтобы определить, является ли конкретное приложение 32-битным или 64-битным)C:\ProgramData
- найденные здесь хранилища приложений показывают, что эти программы хранят некоторые свои данные по-своему. Но вы спрашивали о размещении ваших программ в Data? Не хорошая идея.C:\Users\Steven\AppData
- опять же, помещать программы в Data не очень хорошая идея. Если вы спросили о данных, то об этом пути можно написать несколько интересных вещей. Но для программ просто «нет». :)Возможный путь
C:\Users\Steven
- может быть вашим альтернативным пользователем root, если это общий компьютер, и вы хотите сохранить его в чистоте, поэтому вы решили не создавать глобальные каталоги. Вы можете рассмотретьC:\Users\Steven\Tools
для своих программ или дажеC:\Users\Steven\Desktop\Tools
если вы хотите использовать удобный доступ к папке рабочего стола, доступный через ярлык из многих мест в Windows. Но лучше может быть первый, и вы все равно можете поместить ярлык для этой папки на рабочий стол или при необходимости.Редактировать: Дополнительная полезная подсказка:
Если вы хотите, чтобы некоторые из ваших небольших программ распознавались в меню « Пуск» Windows 10 (для пошагового поиска по их именам или мгновенного запуска с повышенными правами с помощью Ctrl+ Shift+ Enter), добавьте туда их ярлыки и запустите их один раз . (Тогда вы можете удалить их.)
источник
C:\Other
илиC:\Users\<user>\Other
, это считалось бы таким же «законным», как «Инструменты»?Насколько я знаю, универсального подхода нет.
Размещение ваших приложений
C:\Program Files
является довольно стандартным способом. И вы получите защиту доступа : обычные (и не повышенные) пользователи не могут писатьC:\Program Files
. Таким образом, вы не можете случайно удалить, перезаписать такие файлы; и они лучше защищены от вирусов.Вот почему вы получаете предупреждение - запрос на повышение прав - при попытке создать папку в
C:\Program Files
.Следовательно,
C:\Program Files
это самое безопасное место для исполняемых файлов.Однако он не подходит для (переносимых) приложений, которые хранят свою конфигурацию рядом с тем,
.exe
что они не смогут сохранить изменения конфигурации.C:\ProgramData
предназначен для хранения данных приложения, используемых пользователями. По умолчанию все пользователи могут создавать файлы и папки здесь, но только пользователь, создавший их, может изменять файлы.Эта папка может быть легко использована для общих приложений / инструментов. В то же время я никогда не видел приложение в этой папке.
Если вы разместите приложения в своем профиле пользователя
C:\Users\<username>
, другие пользователи системы не будут иметь к нему доступа. У вас есть все разрешения для вашего профиля, поэтому вы не получите никакого предупреждения безопасности. Вот почему Chrome устанавливается в профиль пользователя: он может легко обновляться без запроса повышения прав.В режиме пользователя, установщик Windows пакеты,
.msi
файлы, установить вC:Users\<username>\AppData\Microsoft\Installer\<ProductId>
. Таким образом, это вполне стандартно, чтобы не публиковать приложения в профиле пользователя.utils
В моем профиле пользователя есть папка с приложениями, которые полезны только для меня. Эта папка добавлена вPATH
переменную среды моего пользователя для легкого доступа.Для общих приложений я использую
C:\tools
или аналогичный каталог, возможно, на другом диске. Это добавлено к глобальнойPATH
переменной.источник
Я согласен с уже даными ответами на какой-то момент. Но для действительно небольших программ (утилит) я склонен помещать их в папку bin (в моем случае E: \ bin). Эти программы обычно представляют собой один исполняемый файл или мои собственные скрипты на Python. Я добавляю эту папку в переменную PATH, чтобы использовать эту программу из командной строки (которую я использую довольно часто).
источник
C:\Program Files\bin
для этих типов инструментов и утилит. Спасибо за ответ.Насколько я знаю, нет лучших практик. Вы сами решаете, как вы хотите с этим справиться.
Я склонен следовать тому же стандарту, что и любое приложение с установщиком. Если это исполняемый файл или библиотеку , я бы поместить в любом в
\Program Files\
случае это 64Bit иProgram Files (x86)\
если это 32Bit.Файлы данных я склонен хранить в своих
Users
папках, так как они, как правило, специфичны для пользователя.Существуют также приложения, такие как Google Chrome и Click-Once Applications, которые развертываются
Users\AppData\
, но обычно они не доступны для нескольких профилей.Я предпочитаю первый способ, потому что, если мне нужно войти в другой профиль или как администратор, я все равно могу получить доступ к приложениям.
Что касается разрешения предупреждения. Это именно то, предупреждение . Это просто предупредить вас об использовании папки по неправильным причинам, однако это не мешает вам использовать ее.
источник
%ProgramFiles%
, но по другой причине: приложения без инсталляторов часто переносимы, и у вас нет разрешения на записьЕсли вы хотите стандартизировать эти приложения, то я бы предложил использовать стандарты пакетов Chocolatey . Это хорошо по многим различным причинам; главным образом потому, что большая часть программного обеспечения уже была упакована для вас и готова к установке из любой точки всего несколькими командами.
Также легко создавать свои собственные пакеты для приложений, которые вы не можете свободно распространять. Вы, вероятно, имеете право распространять все, что у вас есть, в своей сети; поэтому для этих приложений вы можете настроить локальный репозиторий . Если вы управляете многими компьютерами или у вас ограниченная пропускная способность интернета, это может быть полезно даже для бесплатных вещей.
источник
Если вы выберете установку Cygwin по умолчанию, она поместит все ваши файлы в папку c: \ cygwin. Я бы взял тот же подход. У меня лично есть папка ac: \ apps. В прошлом я использовал c: \ utils и c: \ cli (сокращение от командной строки). Это действительно зависит от того, как вы хотите организовать свои файлы. Я бы посоветовал отдельным утилитам поместить их в специальную папку. Для набора утилит (например, cygwin, sysinternals, rktools) я мог бы предложить собственную подпапку. Например, вы можете поместить все sysinternals в c: \ apps \ sysinternals. Если вы установите Cygwin, это займет большинство (если не все) команд Unix, которые вы полюбили.
Не забудьте изменить переменные среды (Пуск> Панель управления> Система> Дополнительно> Переменные среды) и добавить любые новые пути к приложениям в системную переменную PATH. Это позволяет вам запускать их по требованию из командной строки или с помощью Windows + R (команда запуска).
источник
\Program Files
каталог в Linux.C:\Users\Me\toolName
(aka% homepath% \ toolName) - это правильное место для размещения инструментов, если вы хотите, чтобы они были дляMe
пользователя, поскольку некоторые из этих инструментов пишут (временные) файлы и требуют разрешения пользователя для записи вProgram files
папку. Еще один плюс в том, что вы не забудете сделать резервную копию, потому что она уже находится в пользовательском пространстве.источник
%homepath%' rather than
c: \ users \ me`. Это указывает на правильное местоположение, даже если местоположение по умолчанию было перемещено, и, таким образом, является более переносимым. +1 за написание / временную часть.Нет никаких правил по этому поводу, вы можете установить их где угодно, но их установка на OSP (раздел операционной системы) в папке, не являющейся пользователем, - это, как правило, хорошая идея, потому что вы получите те же средства защиты доступа есть ли у вас другие приложения; это усложняет случайное удаление или изменение их третьей стороной (например, вирусом).
Лично я обычно помещаю программу в «C: \ Program Files (x86)», потому что большинство таких программ, с которыми я сталкивался, 32-битные, но если бы это была 64-битная программа, я бы поместил ее в C: \ Program Files » Если это программа, связанная с системой (например, Imagex.exe), то я помещу ее в «C: \ Windows \ system32» для 32-битных программ и в «C: \ Windows \ system32» для 64-битных программ, чтобы обеспечить более легкий доступ из командная строка при запуске командных строк с повышенными привилегиями, поскольку по умолчанию вы запускаете в C: \ Windows \ system32; это означает, что вы можете ввести «name.exe» вместо C: \ location \ name.exe «для запуска программы.
Некоторые люди предпочитают отделять свои переносимые (не требующие установки или выполнения неконтролируемых изменений вне своей папки) и не основанные на установщике (не переносимые, но не требующие использования установщика) программы от обычных программ путем создания нового каталога на их OSP (например: C: \ Portable Program Files (x86) или C: \ Dumpable Program Files (x86). Я бы посоветовал 2-й из 2-х, учитывая, что это более высокий уровень точности, даже если он не звучит как красивая.
Подводя итог, нет никаких правил, однако, если вы установите их в OSP (в непользовательской папке), вы сможете защитить программу от нежелательных деинсталляций / модификаций (включая вредоносные модификации), а также при некоторых обстоятельствах. организация может быть полезной (например: ранее упомянутая папка system32 для системных программ CLI).
источник
Etc
или,Etcetera
если вы предпочитаете настоящую фантазийную латинскую анютины глазки О близком втором месте я тоже подумалMisc
. НоEtc
заключил сделку для меня. :)Я думаю, что создание ярлыка
C:\Tools
вSend To
меню в Windows - лучший вариант, так как он всегда доступен из любого места. Таким образом, вы можете быстро «установить» свои небольшие программы, щелкнув их правой кнопкой мыши и выбрав « Инструменты» в меню «Отправить» из любой точки Windows.Я получил этот урок о том, как добавить в меню «Отправить» из HowToGeek
Я вставляю резюме:
Затем каждый раз, когда вы загружаете новое портативное приложение, просто извлекайте его и отправляйте в это место.
Единственная проблема - это создание ярлыков, которые, на мой взгляд, стоит делать вручную.
С уважением.
источник
C:\Tools\
вSend To
папку и получить к нему доступ из любого места, и тогда у вас не возникнет проблем с копированием каждой из ваших программ вручную. Мой ответ, скорее всего, ускорит процесс совмещения других вещей, прочитанных другими. Это прекрасно работает для меня.%APPDATA%
переменная коренится в%USERPROFILE%\AppData\Roaming
папке, поэтому для Windows 7 приведенный выше путь является правильным. Однако в Windows XP вам нужно добавить папку Roaming, как вы указали.Системная переменная среды Path по умолчанию в Windows выглядит примерно так (в зависимости от установленной версии Windows):
Из этих опций% SystemRoot% (который обычно
C:/
) кажется лучшим выбором для чтения / записи, и на него будет легко ссылаться позже.источник