@leppie: Thanks - that was the pointer I needed.
For future reference in C ++ / CLI, this is a valid syntax that works:
String^ appPathString = Assembly::GetEntryAssembly()->Location;
GetExecutingAssembly() provided that the name of the DLL
GetCallingAssembly() returned something like System.Windows.Forms
GetEntryAssembly returned a full path similar to GetModulePath() under Win32.
source share