When starting the client process, Assembly.GetExecutingAssembly().Location in ProcessStarter constructor is used for getting directory of the assembly.
Problem is that when using shadow copy, assembly is cached and location is not the same.
Maybe it should be possible to override the directory in ChildProcessFactory ?