Я хочу знать, когда я устанавливаю какой-либо файл на свой компьютер, как эти файлы устанавливаются? Что на самом деле происходит за кулисами? Например, когда я устанавливаю IDE NetBeans в моей системе Windows, когда я ее запускаю, как он определяет, установлена ли Java в моей системе или нет? Как это работает, это то, что операционная система помогает в этом случае, говоря, что Java установлена или нет? Тогда как ОС узнает об этом?
4 ответа
Процесс отличается для каждой операционной системы и каждой программы.
В Windows, если программа использовала установщик Windows для управления установкой, ОС должна знать, какая версия продукта установлена, какие компоненты находятся в системе, и как их очищать при удалении.
Если программа не использовала установщик Windows, то программа установки должна выяснить, каким образом она установлена. Некоторые программы помещают настройки в известное место в реестре. Например, вы можете проверить, существует ли HKLM\Software\Microsoft\PowerShell\1\Install
и равен ли он "1". Другие программы могут иметь другое поведение.
Зависит от ОС / установщика, но по сути файлы извлекаются в правильные места, а в окнах записываются записи реестра, указывающие на файлы.
Если вам интересно, какие файлы извлекаются и какие записи заносятся в реестр, установите Sandboxie, запустите установщик в изолированной программной среде по умолчанию и завершите установку, после чего вы можете перейти к тому месту, где находится песочница и просмотреть, какие файлы были помещены в нее. ... вот хорошее руководство по этому вопросу http://www.raymond.cc/blog/archives/2007/11/02/how-to-investigate-suspicious-file-using-sandboxie/
В Windows при установке файла обычно есть два разных набора элементов, которые копируются в систему, в двух совершенно разных местах.
Первый набор элементов, которые вы видите, - это фактические файлы, которые использует программа для запуска, файлы .exe, их библиотеки и документация, обычно это то, что вы видите в каталоге "Program Files".
Вторым набором элементов будут все биты конфигурации, которые нужны программе. Они хранятся в так называемом реестре. Вы можете думать о реестре как о файловой системе, предназначенной для опций конфигурации, в ней есть все. Именно там, где Explorer хранит свои настройки, которые он знает, чтобы запустить определенный тип файла, он должен использовать определенную программу и многое другое.
У программ есть определенные места для установки их собственных настроек, и, как правило, каждая версия Java или Netbeans будет иметь определенное место для записи набора строк, содержащих такие детали, как версия и расположение исполняемых файлов, чтобы могла появиться другая программа, проверьте, что он был установлен, а затем продолжил, чтобы выяснить, была ли это правильная версия и где ее найти, без необходимости просто запускать «java.exe» и надеяться, что система настроена правильно.
Используйте Process Monitor из внутренних систем ...
Это бесплатная утилита, доступная Microsoft. Это позволит вам отслеживать действия установщика или любой другой процесс приложения.
Вы сможете точно узнать, к какому ресурсу пытается обратиться установщик. Это включает в себя попытки доступа к файлам и каталогам в файловой системе, реестру Windows, сетевой активности и некоторым другим операционным системам.
Совет: Process Monitor может генерировать массу информации. Чтобы получить более четкое представление о том, что происходит, вы должны заранее ознакомиться с его параметрами фильтрации.