Question

Just typing notepad in CMD is enough to open it. So is executing Process.Start("notepad"); .

How do I get my application to be executable from anywhere without having to specify the complete path?

Was it helpful?

Solution

Add the current directory to the PATH environment variable. Preferably the PATH environment variable of your profile, not the system profile whenever possible

OTHER TIPS

notepad works because its folder is in the PATH variable. You can get and set it with methods in the Environment class.

var path = Environment.GetEnvironmentVariable("PATH",
                         EnvironmentVariableTarget.Machine);
path += @";\my\path";
Environment.SetEnvironmentVariable("PATH", path,
                         EnvironmentVariableTarget.Machine);

(note that you'd only want to do this once, and should probably check that the path isn't already in PATH before adding it)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top