You don't want your third party application to run your ClickOnce application by invoking the exe. If you do, it won't run it as a ClickOnce application, and won't pick up the updates, and the ClickOnce attributes like DataDirectory won't be set.
What you need to do is just search the start menu for the shortcut and do a process.start on it in order to run it.
shortcutName =string.Concat(Environment.GetFolderPath(Environment.SpecialFolder.Programs),
"\\", PublisherName, "\\", ProductName, ".appref-ms");
where PublisherName and ProductName are the same as those entries in the Options for your ClickOnce application, i.e. the entries on the start nenu.
You might want to check to make sure the shortcut exists before calling process.start on it, just in case the user doesn't have it installed, or has uninstalled it or something. Andif it's not installed, you can have your second program install it by doing Process.Start("iexplore.exe", url_to_setup.exe_file);
RobinDotNet
Click here to visit my ClickOnce blog!