public static void startControl(string scriptToExecute)
        {
            // load Execute_Scripts GUI
            var formTitle = "O2 XRules Database ({0})".format("O2_XRules_Database.exe".assembly().version());

            "{0}".info(formTitle);
            var executeScripts = (ascx_Execute_Scripts)typeof(ascx_Execute_Scripts).showAsForm(formTitle, 240, 200);

            executeScripts.checkForMSI_andOnFirstRunAndUnzipDefaultScripts();
            "LocalScriptsFolder: {0}".debug(PublicDI.config.LocalScriptsFolder);
            executeScripts.buildGui();

            // see if there there is a script to execute
            //(first via normal process arguments
            if (scriptToExecute.valid() && scriptToExecute.fileExists())
            {
                executeScripts.runScriptAndCloseGui(scriptToExecute);
            }
            else
            {
                //.. then via Clickonce invoke
                scriptToExecute = ClickOnceDeployment.getClickOnceScriptPath();
                if (scriptToExecute.fileExists())
                {
                    executeScripts.runScriptAndCloseGui(scriptToExecute);
                }
                else
                // ... if there is no script to execute: check for SVN updates and Start the new GUI
                {
                    if (ClickOnceDeployment.isClickOnceDeployment())
                    {
                        executeScripts.checkForClickOnceUpdates();
                        executeScripts.syncO2ViaSvn();
                    }
                    else
                    {
                        svnSyncComplete.Set();
                    }

                    svnSyncComplete.WaitOne();


                    // load new gui
                    var newGuiScript = NEW_GUI_SCRIPT.local();
                    if (newGuiScript.fileExists())
                    {
                        executeScripts.welcomeMessage = "New O2 GUI detected, launching it now...";
                        executeScripts.status(executeScripts.welcomeMessage);
                        {
                            O2Thread.mtaThread(() =>
                            {
                                loadNewGui(executeScripts);
                            });
                        }
                    }
                }
            }
        }