|
Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Установка - [решено] Установка программ в C:\ProgramData |
|
Установка - [решено] Установка программ в C:\ProgramData
|
Новый участник Сообщения: 10 |
Привет всем!
По роду работы у меня возник такой вопрос. Как правильно организовать установку и администрирование программ в Windows (Windows 7 и выше) для многопользовательской среды НЕ в стандартной директории Program Files, а, например, в ProgramData или в другой корневой директории, например, C:\opt\? Вопрос обусловлен тем, что я работаю с научным ПО и программерским ПО для разработки (docker, python, gcc), которое преимущественно ориентировано на Linux. Однако кросс-платформенное ПО (которого все больше) еще не до конца поддерживает раличия в системах и в частности в файловой структуре. Например, оно не поддерживает пробелы в файловых путях, часто не поддерживает Unicode (кирилицу и т.п знаки) и даже порой "не любит" длинные имена директорий (больше 7 знаков) (это не старое ПО, просто оно с длинным бэкграундом из 80-х). Для примера из нового массового ПО возьмем Anaconda для Python. Только относительно недавно стало возможным устанавливать ее в директорию с пробелами, хотя при этом разработчики не могут гарантировать, что все пакеты будут адекватно работать с такими директориями. Если устанавливать Conda для многопользовательской среды, то согласно документации это лучше делать в ProgramData. Действительно, эта директория защищена от записи для обычных пользователей и при этом она системная, а значит есть шанс, что она адекватно поддерживается UAC-ом и системами бэкапирования. Собственно в этом и вопрос. Можно ли ставить программы, пришедшие из Linux в ProgramData вместо Program Files? Есть ли подводные камни? Корректно ли работают в этом случае UAC-виртуализация, реестр, бэкап и восстановление, нет ли подводных камней, связанных с безопасностью, и т.п системные вещи? Ну а так как имя для ProgramData длиннее 7 символов, то можно ли сделать кастномную директорию, типа C:\opt, организованную подобным образом? П.С. Отмечу, что речь идет именно о ПО, которое скомпилировано именно для Windows, но изначально пришло из Linux. Вопрос не о системах виртуализации типа WSL в Windows 10 и не о docker (который по большому счету работает через VirtualBox и тот же WSL), где Linux-программы исполняются на машине с Windows. П.П.С. Тему поместил в ветку Windows 7, так как работаю пока что преимущественно с Windows 7, хотя вопрос актуален и для 10-ки |
|
Отправлено: 19:04, 07-07-2019 |
Support L1+ Сообщения: 5348
|
Профиль | Отправить PM | Цитировать Я бы на вашем месте именно в отдельный каталог ставил всё. Вроде того, как вы предложили (C:\opt), чтобы точно не было проблем с правами, пробелами и прочей ерундой. Формально ProgramData тоже подходит под ваши нужды, но там много кто хранит свои настройки: система, программы, игры, драйвера... Короче, вы сами же запутаетесь в итоге где ваше, а где не ваше. Шлёпните случайно подкаталог не тот какой-нибудь в этой ProgramData и будете потом с глюками на ровном месте разбираться. Вам оно надо? Реально, организуйте отдельную папку и туда скидывайте всё необходимое ПО.
Насчет бэкапа - это уж сами смотрите. Если настроен бэкап только отдельных каталогов типа C:\Windows, то вашу C:\opt придется добавить в список того, что нужно бэкапить. Если же архивируется весь диск С: целиком, то ничего делать не нужно. UAC вас беспокоить не должен, ибо с точки зрения системы C:\opt является обычной папкой и UAC мешать должен не больше, чем при работе с любой другой директорией. Реестр тут вообще никаким боком. Если ваше ПО вносит в реестр записи о путях установки, то ему без разницы какой путь прописывать - ProgramData или opt. |
Отправлено: 19:23, 07-07-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Avatar-Lion, да, согласен, что можно нарваться на проблемы с именами. Некоторые GUI-программы, написанные с использованием Qt хранят свои настройки в системных и пользовательских папках..
А как тогда правильно настроить права на эту кастомную папку? По умолчанию, если создать в корне директорию, то у нее в настройках прав для группы Authenticated Users ставятся полные права, то есть все пользователи смогут туда писать. Правильно ли я понимаю, что для этой папки лучше настроить права аналогичные Program Files? (Правда там есть непонятные для меня trusted installer, CREATOR OWNER, SYSTEM и ALL APPLICATION PACKAGES). В данном случае мне наоборот нужно защитить эту папку от влияния пользователей (прямого или косвенного через саму программу), чтобы если приложение захочет сохранить настройки или другие файлы в свою папку, то UAC направит ее в AppData конкретного пользователя (это я все прочитал у Вадима Стеркина здесь). То же относится и к реестру - программа может писать настройки в системную ветку, а может в пользовательскую - в моем случае хотелось бы, чтобы в пользовательскую. |
Отправлено: 19:44, 07-07-2019 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Bibelwort, можно устанавливать и в C:\PROGRA~1 (обычно так), если не отключено создание коротких имён формата 8.3.
Цитата Bibelwort:
|
|
Отправлено: 22:15, 07-07-2019 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Пухнет одна из подпапок в c:\ProgramData\ | Volchek | Microsoft Windows 7 | 1 | 20-09-2017 15:49 | |
Разное - \ProgramData\Package Cache\ на другом разделе? | yurikoles | Microsoft Windows 8 и 8.1 | 0 | 13-04-2015 02:07 | |
Установка - Установка программ | Scorpionhitech | Microsoft Windows 7 | 10 | 14-08-2013 12:08 | |
Доступ - [решено] отсутствует доступ к сетевой папке ProgramData\C:\ProgramData\Microsoft\Windows\Start | k86-1 | Microsoft Windows 7 | 3 | 30-12-2012 23:56 | |
Доступ - [решено] Произошла ошибка при создании каталога C:\ProgramData\Microsoft\Windows\Start Menu | chechet4 | Microsoft Windows 7 | 4 | 10-04-2011 03:23 |
|