NotYou
NotYou

Reputation: 85

How Windows locate Chrome

I am trying to understand what happens when I run start chrome in Powershell.

I built PowerShell from this commit (modify global to ur dotnet version), traced start chrome till plain Process.Start call (Start-Process is documented about this behaviour, but still I double-checked). Then I've traced in runtime till kernel call, filename still not resolved.

Nor my PATH, nor any of my ENVIRONMENTAL_VARIABLES does not have anything about chrome. I run this article to find out, that there is HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome registry entry, and yeap, it does contain the path to chrome, but how does the kernel understand, that exactly chrome Process.FileName is Google Chrome application in the registry? I can omit extension in dotnet because it's in the PATH, but why does start chrome even work?

I don't understand how do Windows locate google chrome. Please help, I am very curious.

Upvotes: 1

Views: 69

Answers (1)

Miffe
Miffe

Reputation: 26

They are stored in the registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths.

Check the article on Application Registration.

Upvotes: 1

Related Questions