Это лучшая практика для установки программ в Program Files?

9

У нас есть приложение, которое предоставляется и устанавливается сторонней компанией. Для этого они взимают плату за консультацию по рыночной ставке.

К моему шоку они установили большинство папок в корне диска С.

Можно ли устанавливать их в корень диска C? Может ли этот метод установки вызвать проблемы? Или вместо этого приложения должны быть установлены в Program Files?

Холодная Т
источник
Я бы не стал задавать этот вопрос о переполнении стека (или даже программистами). Скорее всего, за переполнение стека проголосовали бы и закрыли его довольно быстро.
ChrisF
7
Вы в шоке от дорогого «корпоративного» программного обеспечения исключительно низкого качества? Не будь Это не редкость.
Майкл Хэмптон
2
Я думаю, что причина кроется в том, что длина переменной PATH должна быть как можно короче. Вы можете использовать переменную% PROGRAMFILES% в своем пути, если вам нужно расширить ее, вместо добавления полного пути к тому месту, где вы установили свое приложение.
ChrisF
@MichaelHampton действительно, я в шоке, там «инженеры-монтажники» еще хуже!
Cold T
2
Единственная большая проблема, с которой лучше всего справляться с Program Files, заключается в том, что создание каталогов на диске C не требует прав администратора, а Program Files делает это. При попытке написать программное обеспечение, для которого не требуется администратор, C может быть предпочтительнее (хотя в большинстве случаев использование AppData было бы верным решением в этом случае). Просто указывая на одну потенциальную разницу. Я думаю, что все остальное сказанное здесь стоит.
Ник

Ответы:

9

Хотя это не официальный источник, Раймонд Чен из The Old New Thing обсуждал это .

В частности, в сообщении блога, указанном выше, говорится:

Некоторые из программ сертификации программного обеспечения Microsoft (например, логотип Windows) требуют, чтобы приложения устанавливали в качестве места установки по умолчанию каталог Program Files.
/.../
Program Files была введена в попытке навести порядок в хаосе. Думайте об этом как о рисовании линий в гараже.

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

CVn
источник
1
OTOS, если я покупаю программное обеспечение, и оно написано людьми, недостаточно умными, чтобы понять, что существуют стандарты, и быть таким же глупым, как прямой переход к C - ну, в этом случае «как можно лучше, чем обычная практика, может потребоваться по закону, если не согласовано иное "и" грубое пренебрежение чтением документации "вступают в игру.
TomTom
0

Есть определенные преимущества, чтобы не устанавливать в %programfiles%. Одним из них является защита программы от использования в качестве батута для вредоносных программ (подробнее см., Например, http://foundstone-dire-detect-insecurely-regist.software.informer.com/1.0/ или Google для получения дополнительной информации »Foundstone DIRE ").

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

В мире Linux распространенной практикой является установка сторонних и системных программных пакетов отдельно. Например, в то время как обычные программные пакеты входят /usr/bin, сторонние обычно входят /usr/local/binили, /usr/share/binесли это должно быть разделено несколькими пользователями, или $HOME/binесли это предполагается использовать этим конкретным пользователем. Слыша о том, что консалтинговая фирма устанавливает эти программы на ваш ПК, у них, вероятно, есть некоторые (не сказать надуманные) пользовательские политики, которые делают его необходимым или, по крайней мере, более удобным, чтобы его не использовать %programfiles%.

wvxvw
источник