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

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

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

Но все еще существует довольно много инструментов, которые состоят только из одного .exeили, может быть, также из одного READMEи одного .dllили двух.

Как мне установить такие инструменты? Прямо в C:\Program Files? Все в одной подпапке в C:\Program Files? Где-то в C:\Users\Me? Где-то совсем в другом месте?

Или, может быть, для инструментов с расширением s и для тех, у которых есть и другие файлы, нужно по-разному обрабатывать .exeтолько те, у которых есть s ....dll

Есть ли какой-то стандартный общепринятый способ сделать это? "Лучшая практика"? Если ответ зависит от версии Windows, то я использую Windows 7.

В частности, то, что может показаться людям очевидным ответом, похоже, имеет подвох:

Я пытался вручную создать новые подпапки в C:\Program Files. На самом деле я думал, что я уже сделал это раньше, но Windows выводит диалоговое окноДоступ к папке назначения запрещен. Это заставило меня дважды подумать, а не просто слепо нажатьПродолжать.

Доступ к папке назначения запрещен

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

решение1

ИспользоватьC:\Tools

илиC:\Users\<user>\Tools
 

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

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

Я просто перехожу C:\Toolsс машины на машину во время миграции, все работает как часы.

Практический пример (сокращенный перечень):

C:\Tools\autoexec-elevated.bat
C:\Tools\cleanup.bat
C:\Tools\BabelMap.exe
C:\Tools\netmon.exe
C:\Tools\notifu.exe
C:\Tools\putty.exe
C:\Tools\UDPixel.exe
C:\Tools\battery.vbs

C:\Инструменты\3dclip-1.5.1\
C:\Tools\alternatestreamview\
C:\Tools\blender-2.71-windows64\
C:\Инструменты\Блокнот++\
C:\Tools\QueryExpress\
C:\Инструменты\winscp555\
C:\Tools\Xinorbis\

C:\Tools\_Sysinternals\accesschk\
C:\Tools\_Sysinternals\Autoruns\
C:\Tools\_Sysinternals\depends22_x64\
C:\Tools\_Sysinternals\depends22_x86\
C:\Tools\_Sysinternals\LogonSessions\

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

EDIT: Расширенная информация

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

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

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

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

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

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

Редактировать:Дополнительный полезный совет:

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

решение2

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

Размещение ваших приложений 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переменную.

решение3

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

решение4

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

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

Связанный контент