Куда устанавливать небольшие программы без инсталляторов на Windows?

На платформе 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 : Tools

или C:UsersTools

Я использую много небольших программ без установщика и рекомендую следующее:

  • Сохраните их все в C : Tools
  • Если программа состоит из одного файла, поместите его прямо в C:Tools
  • Если программа состоит из нескольких файлов, поместите ее в C:ToolsProgramName
  • Инструменты SysInternals имеют специальную категорию C: Tools _SysInternals , потому что их много

Я просто перемещаю C: Tools с машины на машину при миграции, работает как шарм.

Практический образец (сокращенный список):

 C:  Tools  autoexec-elevated.batC:  Tools  cleanup.batC:  Tools  BabelMap.exeC:  Tools  netmon.exeC:  Tools  notifu.exeC:  Tools  putty.exeC:  Tools   UDPixel.exeC:  Tools  battery.vbsC:  Tools  3dclip-1.5.1  C:  Tools  alternatestreamview  C:  Tools  blender-2.71-windows64  C:  Tools  Notepad ++  C:  Tools   QueryExpress  C:  Tools  winscp555  C:  Tools  Xinorbis  C:  Tools  _Sysinternals  accesschk  C:  Tools  _Sysinternals  Autoruns  C:  Tools  _Sysinternals  plays22_x64  C:  Tools  _Sysinternals   depends22_x86  C:  Tools  _Sysinternals  LogonSessions  

Надеюсь, это дает представление.

РЕДАКТИРОВАТЬ: Расширенная информация

Я полагаю, что при install в вашем вопросе Как мне установить такие инструменты? вы фактически имеете в виду ручную настройку, что-то вроде копирования файлов.

Практическое правило: используйте созданные вручную папки для файлов, поддерживаемых вручную. Позвольте системным папкам использоваться (установочными) процессами, которые вы не контролируете напрямую. Вы сразу же получите преимущество распознавания того, какой контент является «вашим» (и вы можете его свободно копировать), а какое приложение управляет установщик.

Поэтому при установке вручную (путем копирования) держитесь подальше от

  • C: Program Files — найденные здесь программы нельзя просто перенести, их необходимо переустановить (дает отличную подсказку для миграции).
  • C: Program Files (x86) — как выше, но в 64-битных системах сюда идут 32-битные программы (может дать подсказку, чтобы определить, является ли конкретное приложение 32-битным или 64-битным)
  • C: ProgramData — найденные здесь хранилища приложений показывают, что эти программы поддерживают некоторые из своих данных по-своему. Но вы просили поместить свои программы в категорию данных? Плохая идея.
  • C: Users Steven AppData — опять же, размещение программ в разделе «Данные» не является отличная идея. Если вы спросили о данных, то об этом пути можно написать несколько интересных вещей. А вот для программ просто «нет». 🙂

Возможный путь

  • C: Users Steven — может быть ваш альтернативный корень , если это общий компьютер и вы хотите содержать его в порядке, поэтому вы решили не создавать никаких глобальных каталогов. Вы можете использовать C: Users Steven Tools для своих программ или даже C: Users Steven Desktop Tools , если хотите использовать удобные Доступ к папке Рабочий стол доступен через ярлык из многих мест в Windows. Но лучше может быть первое, и вы все равно можете разместить ярлык этой папки на рабочем столе или по мере необходимости.

Изменить: Дополнительная полезная подсказка:

Если вы хотите, чтобы некоторые из ваших небольших программ распознавались в меню Пуск Windows 10 (для пошагового поиска их имен или мгновенного повышения начните использовать Ctrl + Shift + Enter ), добавьте туда их ярлыки и запустите их один раз. (Затем вы можете удалить их.)


Насколько я знаю, универсального подхода не существует.

Размещение ваших приложений в C: Program Files — довольно стандартный способ. И вы получите защиту доступа : обычные (и не повышенные) пользователи не могут писать в C: Program Files . Так вы не сможете случайно удалить, перезаписать такие файлы; и они лучше защищены от вирусов. Вот почему вы получаете предупреждение — запрос на повышение прав — при попытке создать папку в C: Program Files .

Следовательно, C: Program Files — это самое безопасное место для исполняемых файлов.

Однако оно не подходит для (переносных) приложений, которые хранят свои конфигурацию рядом с .exe , потому что они не смогут сохранить изменения конфигурации.


C: ProgramData предназначен для хранения данных приложения, совместно используемых пользователями. По умолчанию все пользователи могут создавать здесь файлы и папки, но только тот пользователь, который их создал, может изменять файлы.

Эту папку можно легко использовать для общих приложений/инструментов. В то же время я никогда не видел приложения в этой папке.


Если вы разместите приложения в своем профиле пользователя, C: Users , другие пользователи системы не будут иметь к ней доступа. У вас есть все разрешения для вашего профиля, поэтому вы не получите никаких предупреждений о безопасности. Вот почему Chrome устанавливается в профиль пользователя: он может легко обновляться без запроса на повышение прав.

В индивидуальном режиме пакеты установщика Windows, .msi файлы, установите в C:UsersAppDataMicrosoftInstaller . Поэтому довольно стандартно хранить в профиле пользователя необщие приложения.

В моем профиле пользователя есть папка utils с приложениями, которые полезны только мне. Эта папка добавлена ​​в переменную среды PATH моих пользователей для облегчения доступа.

Для общих приложений я использую C: tools или подобный каталог, возможно, на другом диске. Он добавляется в глобальную переменную PATH .


Насколько я знайте, что универсального подхода не существует.

Размещение ваших приложений в C: Program Files — довольно стандартный способ. И вы получите защиту доступа : обычные (и не повышенные) пользователи не могут писать в C: Program Files . Так вы не сможете случайно удалить, перезаписать такие файлы; и они лучше защищены от вирусов. Вот почему вы получаете предупреждение — запрос на повышение прав — при попытке создать папку в C: Program Files .

Следовательно, C: Program Files — это самое безопасное место для исполняемых файлов.

Однако оно не подходит для (переносных) приложений, которые хранят свои конфигурацию рядом с .exe , потому что они не смогут сохранить изменения конфигурации.


C: ProgramData предназначен для хранения данных приложения, совместно используемых пользователями. По умолчанию все пользователи могут создавать здесь файлы и папки, но только тот пользователь, который их создал, может изменять файлы.

Эту папку можно легко использовать для общих приложений/инструментов. При этом ни разу не видел приложения в этой папке.


Если вы поместите приложения в свой профиль пользователя C:Users , другие пользователи системы не будут иметь доступа к нему. У вас есть все разрешения для вашего профиля, поэтому вы не получите никаких предупреждений о безопасности. Вот почему Chrome устанавливается в профиль пользователя: он может легко обновляться без запроса на повышение прав.

В индивидуальном режиме пакеты установщика Windows, .msi файлы, установите в C:UsersAppDataMicrosoftInstaller . Поэтому довольно стандартно хранить в профиле пользователя необщие приложения.

В моем профиле пользователя есть папка utils с приложениями, которые полезны только мне. Эта папка добавлена ​​в переменную среды PATH моих пользователей для облегчения доступа.

Для общих приложений я использую C: tools или подобный каталог, возможно, на другом диске. Он добавлен в глобальную переменную PATH .


Я согласен с уже приведенным ответы на какой-то момент. Но для действительно небольших программ (утилит) я обычно помещаю их в папку bin (в моем случае E: bin). Эти программы обычно представляют собой один исполняемый файл или мои собственные сценарии Python. Я добавляю эту папку в переменную PATH, поэтому я могу использовать эту программу из командной строки (которую я обычно использую довольно часто).


Я согласен с уже полученными ответами на какой-то момент. Но для действительно небольших программ (утилит) я обычно помещаю их в папку bin (в моем случае E: bin). Эти программы обычно представляют собой отдельный исполняемый файл или мои собственные скрипты Python. Я добавляю эту папку в переменную PATH, чтобы я мог использовать эту программу из командной строки (которую я обычно использую довольно часто).


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

Я стараюсь следовать тому же стандарту, что и любое приложение с установщиком. Если это исполняемый файл или библиотека, я бы поместил либо в Program Files , если он 64-битный, и в Program Files (x86) , если он 32-битный.

Файлы данных, которые я обычно храню в своих папках Users , поскольку они обычно относятся к конкретному пользователю.

Существуют также приложения например, Google Chrome и приложения Click-Once, которые развертываются в Users AppData , однако обычно они не доступны для нескольких профилей.

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

Что касается предупреждения о разрешении. Это именно то, предупреждение . Это просто предупреждение от использования папки по неправильным причинам, однако это не мешает вам использовать ее..


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

Я стараюсь следовать тому же стандарту, что и любое приложение с установщиком. Если это исполняемый файл или библиотека, я бы поместил либо в Program Files , если он 64-битный, и в Program Files (x86) , если он 32-битный.

Файлы данных, которые я обычно храню в своих папках Users , поскольку они обычно относятся к конкретному пользователю.

Существуют также приложения например, Google Chrome и приложения Click-Once, которые развертываются в Users AppData , однако обычно они не доступны для нескольких профилей.

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

Что касается предупреждения о разрешении. Это именно то, предупреждение . Он просто предупреждает вас об использовании папки по неправильным причинам, однако не мешает вам использовать ее.


Если вы хотите стандартизировать эти приложения, я бы предложил использовать стандарты пакетов Chocolatey. Это хорошо по разным причинам; главным образом потому, что большая часть программного обеспечения уже упакована для вас и готова к установке из любого места с помощью всего нескольких команд.

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


Если вы хотите стандартизировать эти приложения, я бы предложил использовать стандарты пакета Chocolatey. Это хорошо по разным причинам; главным образом потому, что большая часть программного обеспечения уже упакована для вас и готова к установке из любого места с помощью всего нескольких команд.

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


Если вы выберете вариант установки cygwin по умолчанию, он поместит все ваши файлы в папку c: cygwin. Я бы применил тот же подход. У меня лично есть папка c: apps. Раньше я использовал c: utils и c: cli (сокращение от командной строки). Это действительно зависит от того, как вы хотите организовать свои файлы. Я бы посоветовал отдельным утилитам поместить их в общую папку. Для набора утилит (например, cygwin, sysinternals, rktools) я мог бы предложить отдельную подпапку. Например, вы можете поместить все sysinternals в c: apps sysinternals. Если вы установите cygwin, для этого потребуется большая часть (если не все) из полюбившихся вам команд Unix.

Не забудьте изменить переменные среды (Пуск> Панель управления> Система> Дополнительно> Переменные среды) и добавить любые новые пути к приложениям в системную переменную PATH. Это позволяет запускать их по запросу из командной строки или с помощью Windows + R (команда запуска).


Если вы выберете установку cygwin по умолчанию choices, он помещает все ваши файлы в папку c: cygwin. Я бы применил тот же подход. У меня лично есть папка c: apps. Раньше я использовал c: utils и c: cli (сокращение от командной строки). Это действительно зависит от того, как вы хотите организовать свои файлы. Я бы посоветовал одноразовым утилитам поместить их в общую папку. Для набора утилит (например, cygwin, sysinternals, rktools) могу я предложить отдельную подпапку. Например, вы можете поместить все sysinternals в c: apps sysinternals. Если вы установите cygwin, для этого потребуется большая часть (если не все) из полюбившихся вам команд Unix.

Не забудьте изменить переменные среды (Пуск> Панель управления> Система> Дополнительно> Переменные среды) и добавить любые новые пути к приложениям в системную переменную PATH. Это позволяет запускать их по запросу из командной строки или с помощью Windows + R (команда запуска).


Я думаю, что создание ярлыка для C: Tools в меню Отправить в Windows — лучший вариант, поскольку он всегда доступен из любого места. Таким образом, вы можете быстро «установить» свои небольшие программы, щелкнув их правой кнопкой мыши и выбрав Инструменты из меню «Отправить» из любого места в Windows.

Я получил этот Учебник по Как добавить в меню «Отправить в» из HowToGeek
Я вставляю резюме:

Чтобы перейти к SendTo папку, вам нужно будет открыть окно проводника, а затем вставить в адресную строку следующее:

% APPDATA% Microsoft Windows SendTo

Затем вставьте ярлык папки, в которую вы хотите скопировать свои программы.

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


Думаю, создать ярлык для C: Tools в Отправить меню в Windows — лучший вариант, так как оно всегда доступно из любого места. Таким образом, вы можете быстро «установить» свои небольшие программы, щелкнув их правой кнопкой мыши и выбрав Инструменты из меню «Отправить» из любого места в Windows.

Я получил этот Учебник по Как добавить в меню «Отправить в» из HowToGeek
Я вставляю резюме:

Чтобы перейти к SendTo папку, вам нужно будет открыть окно проводника, а затем вставить в адресную строку следующее:

% APPDATA% Microsoft Windows SendTo

Затем вставьте ярлык папки, в которую вы хотите скопировать свои программы.

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


C: Users Me toolName (также известный как% homepath% toolName) — правильное место для размещения инструментов, предполагая, что вы хочу его для пользователя Me , поскольку некоторые из этих инструментов записывают (временные) файлы и потребуют разрешения пользователя для записи в папку Program files . еще один плюс в том, что вы не забудете сделать резервную копию, потому что она уже находится в пользовательском пространстве.


C: Users Me toolName (также известный как% homepath% toolName) — правильное место для размещения инструментов, предполагая, что вы хотите его для Me user, так как некоторые из этих инструментов записывают (временные) файлы и потребуют разрешения пользователя для записи в папку Program files . еще один плюс в том, что вы не забудете сделать резервную копию, потому что она уже находится в пользовательском пространстве.


Существует несколько подходов, все зависит от того, как ваше приложение отреагирует:

Учитывая, что вы устанавливаете небольшое портативное приложение, вы должны учитывать, что конфигурация приложения xml/ini файл может использовать текущую папку Program Files MyApp , тогда любой стандартный пользователь может не иметь повышенных прав для записи в эту папку. Если вы воспользуетесь этим подходом, вы можете сохранить конфигурацию xml/ini каждого пользователя в его папку appdata roaming MyApp . Насколько мне известно, любое портативное приложение для конкретного пользователя должно быть развернуто в папке user appdata roaming MyApp , где текущий пользователь имеет повышенные права.

Однако, если ваше приложение использует реестр в качестве параметров конфигурации вы можете использовать Program files MyApp или Program files (x86) MyApp. Или лучше, если вы развернете множество собственных небольших инструментов, вы можете использовать общую папку, например Program Files HippieTrail Studios My App1 и т. Д.

Лично я беру Program files MyApp подходите с особой осторожностью, чтобы сохранить любые .xml/.ini/.sqlite/.txt в папке roaming приложения..


Существует несколько подходов, все зависит от того, как ваше приложение отреагирует:

Учитывая, что вы установите небольшое портативное приложение, вы должны учитывать, что конфигурационный файл xml/ini приложения может использовать текущую папку Program Files MyApp , тогда любой стандартный пользователь может не иметь повышенных прав на запись в эту папку. Если вы воспользуетесь этим подходом, вы можете сохранить конфигурацию xml/ini каждого пользователя в его папку appdata roaming MyApp . Насколько мне известно, любое портативное приложение для конкретного пользователя должно быть развернуто в папке user appdata roaming MyApp , где текущий пользователь имеет повышенные права.

Однако, если ваше приложение использует реестр в качестве параметров конфигурации вы можете использовать Program files MyApp или Program files (x86) MyApp. Или лучше, если вы развернете множество собственных небольших инструментов, вы можете использовать общую папку, например Program Files HippieTrail Studios My App1 и т. Д.

Лично я беру Program files MyApp подходите с особой осторожностью, чтобы сохранить любые файлы .xml/.ini/.sqlite/.txt в папке roaming приложения.


Здесь нет никаких правил, вы можете установить их где угодно, но устанавливая их в ваш 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).


Есть никаких правил по этому поводу, вы можете установить их где угодно, но установка их на 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).


Помимо существующих ответов, я я бы сказал Вы сделаете это:

Сначала поместите их в [dropbox_folder] portable-tools

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

Если у вас несколько компьютеров, и вам не нужны настройки или состояние инструмента для синхронизации между компьютерами (например, список воспроизведения foobar2000), вы можете создать [dropbox_folder] portable-tools [имя_компьютера], а затем поместить повторяющиеся версии приложения в разные [имя_компьютера].

Между прочим, если вы программист, я бы рекомендовал поместить [dorpbox_folder] в c: users me, это дает вам много преимуществ, как вы скоро узнаете.


Я бы посоветовал вам сделать это поверх существующих ответов:

Сначала поместите их в [dropbox_folder] Portable-tools

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

Если у вас несколько компьютеров, и вам не нужны настройки или состояние инструмента для синхронизации между компьютерами (например, список воспроизведения foobar2000), вы можете создать [dropbox_folder] portable-tools [имя_компьютера], а затем поместить повторяющиеся версии приложения под разными [имя_компьютера].

Кстати, если вы программист, я бы порекомендовал поместить [dorpbox_folder] в c: users me, это дает вам много преимуществ, как вы скоро узнаете.


Системная переменная среды Path по умолчанию в Windows выглядит примерно так (в зависимости от установленной версии Windows):

  %SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0 

Из эти параметры% SystemRoot% (обычно это C:/) кажутся лучшим выбором для чтения/записи, и это будет e можно ссылаться позже.


Системная переменная среды Path по умолчанию в Windows выглядит примерно так (в зависимости от установленной версии Windows):

 % SystemRoot%  system32;% SystemRoot%;% SystemRoot%  System32  Wbem;% SYSTEMROOT%  System32  WindowsPowerShell  v1.0   

Из этих опций% SystemRoot% (обычно это C:/) кажется лучшим выбором для чтения и записи, и на него будет легко ссылаться позже.

Оцените статью
techsly.ru
Добавить комментарий