namespace FromShellExecute { class Program { static void Main(string[] args) { var asm = Assembly.GetEntryAssembly(); if (asm != null) { Console.WriteLine("GetEntryAssembly=" + asm.Location); Console.WriteLine(); } asm = Assembly.GetExecutingAssembly(); if (asm != null) { Console.WriteLine("GetExecutingAssembly=" + asm.Location); Console.WriteLine(); } asm = Assembly.GetCallingAssembly(); if (asm != null) { Console.WriteLine("GetCallingAssembly=" + asm.Location); Console.WriteLine(); } asm = Assembly.GetAssembly(typeof(FromShellExecute.Program)); if (asm != null) { Console.WriteLine("GetAssembly(this)=" + asm.Location); Console.WriteLine(); } Console.WriteLine("Application.ExecutablePath=" + Application.ExecutablePath); Console.WriteLine(); Console.WriteLine("AppDomain.CurrentDomain.BaseDirectory=" + AppDomain.CurrentDomain.BaseDirectory); Console.WriteLine(); Console.WriteLine("%1=" + args[0]); Console.WriteLine(); Console.ReadKey(); } } }