This is almost certainly due to the "working directory" for your WPF application.
When you launch the application from Windows, the working directory will be set to the WPF application's directory. When you launch it from your other application, it will be set to whatever you've specified in the
ProcessStartInfo
structure, and will default to the calling application's directory.
If your WPF application is trying to load files using a relative path, it will be relative to the working directory. When the working directory is set to the other application's directory, it won't be able to find the files.
Make sure you explicitly specify the working directory when you launch the application:
Process.Start(new ProcessStartInfo(@"C:\Path\To\Your\WPF\Application\file.exe")
{
WorkingDirectory = @"C:\Path\To\Your\WPF\Application\"
});