I have two applications, e.g. App1 and App2. When running normally, App1 will show its assembly executable location. But when I call App1 from App2, it returns App2's startup location.
So, how do I get App1's startup path when I call App1 from App2?
You can get the directory of the currently executing assembly with this:
string assemblyPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
GetExecutingAssembly()
returns the currently executing assembly and Location
is the full path or UNC path of that assembly.
Path.GetDirectoryName()
returns the directory of a full path.
Note that the assembly's path is not the same as the startup path. The startup path is the working directory from which you started an application. And if your app does not change it's working directory, all apps started by the first app will have the same startup path.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With