private void ExtAppOPenCloseProj()
        {
            // save active project when requested
            if (SaveToProjectPath != "")
            {
                if (File.Exists(SaveToProjectPath))
                {// open, truncate, serialize
                    SerializePCSystem(SaveToProjectPath);

                    activeProjectpath = SaveToProjectPath;
                    pcExecutionSystemMetaData.AddProjectPathString(activeProjectpath);
                    SaveToProjectPath = "";
                    if (thisPrjViewer != null)
                    {
                        LinkedMDSForm.BeginInvoke(new Action(() => {
                            thisPrjViewer.updateTreeView();
                        }));
                    }
                }
                else
                {
                    SaveToProjectPath = "";
                }
            }

            // open project from file when requested
            if (RequestedProjectPath != "")
            {
                if (File.Exists(RequestedProjectPath))
                {
                    // deserialize
                    DeserializePCSystem(RequestedProjectPath);

                    activeProjectpath = RequestedProjectPath;
                    pcExecutionSystemMetaData.AddProjectPathString(activeProjectpath);
                    RequestedProjectPath = "";

                    if (thisPrjViewer != null)
                    {
                        LinkedMDSForm.BeginInvoke(new Action(() => {
                            thisPrjViewer.updateTreeView();
                            MainInit();
                        }));
                    }
                }
                else
                {
                    RequestedProjectPath = "";
                }
            }
        }