Ejemplo n.º 1
0
        public void CustomActionData()
        {
            string dataString  = "Key1=Value1;Key2=;Key3;Key4=Value=4;Key5";
            string dataString2 = "Key1=;Key2=Value2;Key3;Key4;Key6=Value;;6=6;Key7=Value7";

            CustomActionData data = new CustomActionData(dataString);

            Assert.AreEqual <string>(dataString, data.ToString());

            data["Key1"] = String.Empty;
            data["Key2"] = "Value2";
            data["Key4"] = null;
            data.Remove("Key5");
            data["Key6"] = "Value;6=6";
            data["Key7"] = "Value7";

            Assert.AreEqual <string>(dataString2, data.ToString());

            MyDataClass myData = new MyDataClass();

            myData.Member1 = "test1";
            myData.Member2 = "test2";
            data.AddObject("MyData", myData);

            string           myDataString = data.ToString();
            CustomActionData data2        = new CustomActionData(myDataString);

            MyDataClass myData2 = data2.GetObject <MyDataClass>("MyData");

            Assert.AreEqual <MyDataClass>(myData, myData2);

            List <string> myComplexDataObject = new List <string>();

            myComplexDataObject.Add("CValue1");
            myComplexDataObject.Add("CValue2");
            myComplexDataObject.Add("CValue3");

            CustomActionData myComplexData = new CustomActionData();

            myComplexData.AddObject("MyComplexData", myComplexDataObject);
            myComplexData.AddObject("NestedData", data);
            string myComplexDataString = myComplexData.ToString();

            CustomActionData myComplexData2       = new CustomActionData(myComplexDataString);
            List <string>    myComplexDataObject2 = myComplexData2.GetObject <List <string> >("MyComplexData");

            Assert.AreEqual <int>(myComplexDataObject.Count, myComplexDataObject2.Count);
            for (int i = 0; i < myComplexDataObject.Count; i++)
            {
                Assert.AreEqual <string>(myComplexDataObject[i], myComplexDataObject2[i]);
            }

            data2 = myComplexData2.GetObject <CustomActionData>("NestedData");
            Assert.AreEqual <string>(data.ToString(), data2.ToString());
        }
Ejemplo n.º 2
0
        public void CustomActionData()
        {
            string dataString = "Key1=Value1;Key2=;Key3;Key4=Value=4;Key5";
            string dataString2 = "Key1=;Key2=Value2;Key3;Key4;Key6=Value;;6=6;Key7=Value7";

            CustomActionData data = new CustomActionData(dataString);
            Assert.AreEqual<string>(dataString, data.ToString());

            data["Key1"] = String.Empty;
            data["Key2"] = "Value2";
            data["Key4"] = null;
            data.Remove("Key5");
            data["Key6"] = "Value;6=6";
            data["Key7"] = "Value7";

            Assert.AreEqual<string>(dataString2, data.ToString());

            MyDataClass myData = new MyDataClass();
            myData.Member1 = "test1";
            myData.Member2 = "test2";
            data.AddObject("MyData", myData);

            string myDataString = data.ToString();
            CustomActionData data2 = new CustomActionData(myDataString);

            MyDataClass myData2 = data2.GetObject<MyDataClass>("MyData");
            Assert.AreEqual<MyDataClass>(myData, myData2);

            List<string> myComplexDataObject = new List<string>();
            myComplexDataObject.Add("CValue1");
            myComplexDataObject.Add("CValue2");
            myComplexDataObject.Add("CValue3");

            CustomActionData myComplexData = new CustomActionData();
            myComplexData.AddObject("MyComplexData", myComplexDataObject);
            myComplexData.AddObject("NestedData", data);
            string myComplexDataString = myComplexData.ToString();

            CustomActionData myComplexData2 = new CustomActionData(myComplexDataString);
            List<string> myComplexDataObject2 = myComplexData2.GetObject<List<string>>("MyComplexData");

            Assert.AreEqual<int>(myComplexDataObject.Count, myComplexDataObject2.Count);
            for (int i = 0; i < myComplexDataObject.Count; i++)
            {
                Assert.AreEqual<string>(myComplexDataObject[i], myComplexDataObject2[i]);
            }

            data2 = myComplexData2.GetObject<CustomActionData>("NestedData");
            Assert.AreEqual<string>(data.ToString(), data2.ToString());
        }
        public static ActionResult SwhowPathInstall(Session session)
        {
            try
            {
                //  Active message only for debugging developing
                //  MessageBox.Show("SwhowPathInstall: For debugging , the Debug menu, ' Attach to process ' ate processes : msiexec.exe y rundll32.exe.",
                //    "Depurar: SwhowPathInstall", MessageBoxButtons.OK, MessageBoxIcon.Information);

                bool isCustomActionData = false;
                List<DataBasePathTO> listPaths;
                List<FeatureInstallTO> listFeactureScripts;
                var listFeactureNames = new List<string>();

                InstallUtilities.WriteLogInstall(session, "Initialised SwhowPathInstall ...", null, true);
                if (session == null)
                {
                    throw new ArgumentNullException("session");
                }

                // Setup Routes taken from CustomTable Id = " TABLE_DATABASE_PATHS " and set default route
                listPaths = GetCustomTableDataBasePaths(session, isCustomActionData);

                // Open the user form to change installation paths database .
                var frmA = new frmPaths(listPaths);
                if (frmA.ShowDialog() != DialogResult.OK)
                {
                    throw new InstallerException("Configuración de rutas de instalación no realizada");
                }

                // / Prepare CustomActionData for deferred CustomAction 
                var data = new CustomActionData();

                // Update CustomTable Id = " TABLE_DATABASE_PATHS " with modified routes
                // UpdateCustomTableDataBasePaths (session , listPaths , isCustomActionData );

                // Prepare list of paths to be sent to CustomActionData for deferred CustomAction
                data.AddObject("DATABASE_PATHS", listPaths);

                // Add the route list as a session property
                // Data.Add ( " DATABASE_PATHS " JsonConvert.SerializeObject ( listPaths ) ) ;

                // To retrieve the serialized property
                // List <DataBasePathTO> JsonConvert.DeserializeObject listPaths = < List <DataBasePathTO> > ( session.CustomActionData [" DATABASE_PATHS "] );

                // Prepare properties to be sent to CustomActionData for deferred CustomAction
                SetCustomActionData(session, "INSTALLLOCATION", data);
                SetCustomActionData(session, "DATABASE_SERVERNAME", data);
                SetCustomActionData(session, "DATABASE_NAME", data);
                SetCustomActionData(session, "DATABASE_WINDOWSAUTHENTICATION", data);
                SetCustomActionData(session, "DATABASE_AUTHENTICATEDATABASE", data);
                SetCustomActionData(session, "DATABASE_EXECUTESCRIPTS", data);
                SetCustomActionData(session, "DATABASE_USERNAME", data);
                SetCustomActionData(session, "DATABASE_PASSWORD", data);
                SetCustomActionData(session, "DATABASE_PROXYPASSWORD", data);
                SetCustomActionData(session, "DATABASE_MAILPROFILENAME", data);
                SetCustomActionData(session, "DATABASE_MAILBOX", data);
                SetCustomActionData(session, "DATABASE_MAILIP", data);
                SetCustomActionData(session, "DATABASE_OPERATORNAMENAME", data);
                SetCustomActionData(session, "DATABASE_OPERATORMAILBOX", data);
                SetCustomActionData(session, "DATABASE_PROXYWINDOWSUSER", data);

                // / Database Scripts to be installed, taken from the MSI  Feature using sql files * .
                foreach (FeatureInfo fi in session.Features)
                {
                    if (fi.RequestState == InstallState.Local || fi.RequestState == InstallState.Source ||
                        fi.RequestState == InstallState.Default)
                    {
                        listFeactureNames.Add(fi.Name);
                        InstallUtilities.WriteLogInstall(session,
                            "FEATURE fi.Name: " + fi.Name + ", fi.CurrentState: " + fi.CurrentState +
                            ", fi.RequestState:" + fi.RequestState, null, false);
                    }
                }
                listFeactureScripts = GetFeatureScriptDataBase(session, listFeactureNames);
                data.AddObject("DATABASE_FEACTURESCRIPTS", listFeactureScripts);

                // Add all the properties in a single variable
                //session["CUSTOMACTIONDATA_PROPERTIES"] = data.ToString();

                // Schedule deferred actions 
                session.DoAction("CA_DataBaseExecuteScripts", data);

                return ActionResult.Success;
            }
            catch (Exception ex)
            {
                InstallUtilities.WriteLogInstall(session,
                    "Exception to establish installation paths for database.", ex, true);
                return ActionResult.Failure;
            }
        }
Ejemplo n.º 4
0
        public static ActionResult SwhowPathInstall(Session session)
        {
            try
            {
                bool isCustomActionData = false;
                List <DataBasePathTO>    listPaths;
                List <FeactureInstallTO> listFeactureScripts;
                List <string>            listFeactureNames = new List <string>();

                InstallUtilities.WriteLogInstall(session, "Starting SwhowPathInstall ...", null, true);
                if (session == null)
                {
                    throw new ArgumentNullException("session");
                }

                listPaths = GetCustomTableDataBasePaths(session, isCustomActionData);

                CustomActionData data = new CustomActionData();

                data.AddObject <List <DataBasePathTO> >("DATABASE_PATHS", listPaths);

                SetCustomActionData(session, "INSTALLLOCATION", data);
                SetCustomActionData(session, "DATABASE_SERVERNAME", data);
                SetCustomActionData(session, "DATABASE_NAME", data);
                SetCustomActionData(session, "DATABASE_WINDOWSAUTHENTICATION", data);
                SetCustomActionData(session, "DATABASE_AUTHENTICATEDATABASE", data);
                SetCustomActionData(session, "DATABASE_EXECUTESCRIPTS", data);
                SetCustomActionData(session, "DATABASE_USERNAME", data);
                SetCustomActionData(session, "DATABASE_PASSWORD", data);

                //SetCustomActionData(session, "DATABASE_PROXYPASSWORD", data);
                //SetCustomActionData(session, "DATABASE_MAILPROFILENAME", data);
                //SetCustomActionData(session, "DATABASE_MAILBOX", data);
                //SetCustomActionData(session, "DATABASE_MAILIP", data);
                //SetCustomActionData(session, "DATABASE_OPERATORNAMENAME", data);
                //SetCustomActionData(session, "DATABASE_OPERATORMAILBOX", data);
                //SetCustomActionData(session, "DATABASE_PROXYWINDOWSUSER", data);

                foreach (FeatureInfo fi in session.Features)
                {
                    if (fi.RequestState == InstallState.Local || fi.RequestState == InstallState.Source || fi.RequestState == InstallState.Default)
                    {
                        listFeactureNames.Add(fi.Name);
                        InstallUtilities.WriteLogInstall(session, "FEATURE fi.Name: " + fi.Name + ", fi.CurrentState: " + fi.CurrentState +
                                                         ", fi.RequestState:" + fi.RequestState, null, false);
                    }
                }
                listFeactureScripts = GetFeactureScriptDataBase(session, listFeactureNames);
                data.AddObject <List <FeactureInstallTO> >("DATABASE_FEACTURESCRIPTS", listFeactureScripts);

                //session["CUSTOMACTIONDATA_PROPERTIES"] = data.ToString();

                session.DoAction("CA_DataBaseExecuteScripts", data);

                return(ActionResult.Success);
            }
            catch (Exception ex)
            {
                InstallUtilities.WriteLogInstall(session, "Exception to establish routes database installation", ex, true);
                return(ActionResult.Failure);
            }
        }
        void Check(IActionWorker worker, bool serverMode, bool clientMode)
        {
            CustomActionData customActionData = new CustomActionData();
              Microsoft.Deployment.WindowsInstaller.Fakes.ShimSession.AllInstances.CustomActionDataGet = delegate { return customActionData; };

              // Проверка режима сервера.
              SetValue(worker, false);
              customActionData.AddObject<UIType>(SessionUITypeGetterExtension.keyUIType, UIType.Server);
              worker.Execute();
              Assert.AreEqual(serverMode, GetValue(worker), worker.GetType().ToString() + " Server");

              // Проверка режима клиента.
              SetValue(worker, false);
              customActionData.Clear();
              customActionData.AddObject<UIType>(SessionUITypeGetterExtension.keyUIType, UIType.Client);
              worker.Execute();
              Assert.AreEqual(clientMode, GetValue(worker), worker.GetType().ToString() + " Client");
        }
        private void Deleting()
        {
            string server;
              string database;
              // Получаем имена сервера и базы данных.
              NameViewConverter.ParseNameView(sessionProp.SelectedDatabase, out server, out database);

              // Получаем информацию об этой базе.
              DatabaseInfo info = Session.GetService<ISessionDatabaseInfoExtension>().GetDatabaseInfos().FirstOrDefault(v => v.Server == server && v.Name == database);

              // Если база данных существовала (т.е. не добавлена пользователем),
              // то запомним ее в специальном списке существующих баз данных (в элементе управления).
              // Так как это структура, то если ничего не будет найдено в запросе LINQ, поле Server не будет проинициализирован.
              if (!string.IsNullOrEmpty(info.Server) && !info.IsNew)
              {
            // Для вывода элемента будем использовать имя, версию и признак поддержки.
            // Для значения сохраним, в виде строки, сериализованный DatabaseInfo в CustomActionData.
            WixComboBox combo = new WixComboBox(Session, sessionProp.ExistControlProperty);
            // Здесь аккуратнее, так как ComboBox не отображает некоторые символы.
            string displayedName = sessionProp.SelectedDatabase + " " + info.Version + (info.IsRequiringUpdate ? "" : " (не поддерживается)");
            CustomActionData customActionData = new CustomActionData();
            customActionData.AddObject<DatabaseInfo>(typeof(DatabaseInfo).ToString(), info);
            combo.AddItem(new WixComboItem(displayedName, customActionData.ToString()));

            // Значение по умолчанию.
            combo.SelectedValue = combo.Items.Count > 0 ? combo.Items[0].Value : "";
              }

              Session.GetService<ISessionDatabaseInfoExtension>().DeleteDatabaseInfo(server, database);
        }
        public static ActionResult SwhowPathInstall(Session session)
        {
            try
            {
                //  Active message only for debugging developing
                //  MessageBox.Show("SwhowPathInstall: For debugging , the Debug menu, ' Attach to process ' ate processes : msiexec.exe y rundll32.exe.",
                //    "Depurar: SwhowPathInstall", MessageBoxButtons.OK, MessageBoxIcon.Information);

                bool isCustomActionData = false;
                List <DataBasePathTO>   listPaths;
                List <FeatureInstallTO> listFeactureScripts;
                var listFeactureNames = new List <string>();

                InstallUtilities.WriteLogInstall(session, "Initialised SwhowPathInstall ...", null, true);
                if (session == null)
                {
                    throw new ArgumentNullException("session");
                }

                // Setup Routes taken from CustomTable Id = " TABLE_DATABASE_PATHS " and set default route
                listPaths = GetCustomTableDataBasePaths(session, isCustomActionData);

                // Open the user form to change installation paths database .
                var frmA = new frmPaths(listPaths);
                if (frmA.ShowDialog() != DialogResult.OK)
                {
                    throw new InstallerException("Configuración de rutas de instalación no realizada");
                }

                // / Prepare CustomActionData for deferred CustomAction
                var data = new CustomActionData();

                // Update CustomTable Id = " TABLE_DATABASE_PATHS " with modified routes
                // UpdateCustomTableDataBasePaths (session , listPaths , isCustomActionData );

                // Prepare list of paths to be sent to CustomActionData for deferred CustomAction
                data.AddObject("DATABASE_PATHS", listPaths);

                // Add the route list as a session property
                // Data.Add ( " DATABASE_PATHS " JsonConvert.SerializeObject ( listPaths ) ) ;

                // To retrieve the serialized property
                // List <DataBasePathTO> JsonConvert.DeserializeObject listPaths = < List <DataBasePathTO> > ( session.CustomActionData [" DATABASE_PATHS "] );

                // Prepare properties to be sent to CustomActionData for deferred CustomAction
                SetCustomActionData(session, "INSTALLLOCATION", data);
                SetCustomActionData(session, "DATABASE_SERVERNAME", data);
                SetCustomActionData(session, "DATABASE_NAME", data);
                SetCustomActionData(session, "DATABASE_WINDOWSAUTHENTICATION", data);
                SetCustomActionData(session, "DATABASE_AUTHENTICATEDATABASE", data);
                SetCustomActionData(session, "DATABASE_EXECUTESCRIPTS", data);
                SetCustomActionData(session, "DATABASE_USERNAME", data);
                SetCustomActionData(session, "DATABASE_PASSWORD", data);
                SetCustomActionData(session, "DATABASE_PROXYPASSWORD", data);
                SetCustomActionData(session, "DATABASE_MAILPROFILENAME", data);
                SetCustomActionData(session, "DATABASE_MAILBOX", data);
                SetCustomActionData(session, "DATABASE_MAILIP", data);
                SetCustomActionData(session, "DATABASE_OPERATORNAMENAME", data);
                SetCustomActionData(session, "DATABASE_OPERATORMAILBOX", data);
                SetCustomActionData(session, "DATABASE_PROXYWINDOWSUSER", data);

                // / Database Scripts to be installed, taken from the MSI  Feature using sql files * .
                foreach (FeatureInfo fi in session.Features)
                {
                    if (fi.RequestState == InstallState.Local || fi.RequestState == InstallState.Source ||
                        fi.RequestState == InstallState.Default)
                    {
                        listFeactureNames.Add(fi.Name);
                        InstallUtilities.WriteLogInstall(session,
                                                         "FEATURE fi.Name: " + fi.Name + ", fi.CurrentState: " + fi.CurrentState +
                                                         ", fi.RequestState:" + fi.RequestState, null, false);
                    }
                }
                listFeactureScripts = GetFeatureScriptDataBase(session, listFeactureNames);
                data.AddObject("DATABASE_FEACTURESCRIPTS", listFeactureScripts);

                // Add all the properties in a single variable
                //session["CUSTOMACTIONDATA_PROPERTIES"] = data.ToString();

                // Schedule deferred actions
                session.DoAction("CA_DataBaseExecuteScripts", data);

                return(ActionResult.Success);
            }
            catch (Exception ex)
            {
                InstallUtilities.WriteLogInstall(session,
                                                 "Exception to establish installation paths for database.", ex, true);
                return(ActionResult.Failure);
            }
        }
        public static ActionResult ExecuteSQLScripts(Session session)
        {
            var data = new CustomActionData();

            try
            {
                //  Active message only for debugging developing
                //  MessageBox.Show("SwhowPathInstall: For debugging , the Debug menu, ' Attach to process ' ate processes : msiexec.exe y rundll32.exe.",
                //    "Depurar: SwhowPathInstall", MessageBoxButtons.OK, MessageBoxIcon.Information);

                //bool isCustomActionData = false;
                //List<DataBasePathTO> listPaths;
                List <FeatureInstallTO> listFeactureScripts;
                var listFeactureNames = new List <string>();

                InstallUtilities.WriteLogInstall(session, "Initialised SwhowPathInstall ...", null, true);

                if (session == null)
                {
                    throw new ArgumentNullException("session");
                }

                // Setup Routes taken from CustomTable Id = " TABLE_DATABASE_PATHS " and set default route
                //listPaths = GetCustomTableDataBasePaths(session, isCustomActionData);

                // Open the user form to change installation paths database .

                /*
                 * var frmA = new frmPaths(listPaths);
                 * if (frmA.ShowDialog() != DialogResult.OK)
                 * {
                 *  MessageBox.Show("Error");
                 *  throw new InstallerException("Configuración de rutas de instalación no realizada");
                 * }
                 */
                // / Prepare CustomActionData for deferred CustomAction


                // Update CustomTable Id = " TABLE_DATABASE_PATHS " with modified routes
                // UpdateCustomTableDataBasePaths (session , listPaths , isCustomActionData );

                // Prepare list of paths to be sent to CustomActionData for deferred CustomAction
                //data.AddObject("DATABASE_PATHS", listPaths);

                // Add the route list as a session property
                // Data.Add ( " DATABASE_PATHS " JsonConvert.SerializeObject ( listPaths ) ) ;

                // To retrieve the serialized property
                // List <DataBasePathTO> JsonConvert.DeserializeObject listPaths = < List <DataBasePathTO> > ( session.CustomActionData [" DATABASE_PATHS "] );

                // Prepare properties to be sent to CustomActionData for deferred CustomAction
                SetCustomActionData(session, "INSTALLLOCATION", data);
                SetCustomActionData(session, "DATABASE_SERVERNAME", data);
                SetCustomActionData(session, "DATABASE_NAME", data);
                SetCustomActionData(session, "DATABASE_WINDOWSAUTHENTICATION", data);
                SetCustomActionData(session, "DATABASE_AUTHENTICATEDATABASE", data);
                SetCustomActionData(session, "DATABASE_EXECUTESCRIPTS", data);
                SetCustomActionData(session, "DATABASE_USERNAME", data);
                SetCustomActionData(session, "DATABASE_PASSWORD", data);
                SetCustomActionData(session, "DATABASE_PROXYPASSWORD", data);
                SetCustomActionData(session, "DATABASE_MAILPROFILENAME", data);
                SetCustomActionData(session, "DATABASE_MAILBOX", data);
                SetCustomActionData(session, "DATABASE_MAILIP", data);
                SetCustomActionData(session, "DATABASE_OPERATORNAMENAME", data);
                SetCustomActionData(session, "DATABASE_OPERATORMAILBOX", data);
                SetCustomActionData(session, "DATABASE_PROXYWINDOWSUSER", data);

                // / Database Scripts to be installed, taken from the MSI  Feature using sql files * .
                foreach (FeatureInfo fi in session.Features)
                {
                    if (fi.RequestState == InstallState.Local || fi.RequestState == InstallState.Source ||
                        fi.RequestState == InstallState.Default)
                    {
                        listFeactureNames.Add(fi.Name);
                        InstallUtilities.WriteLogInstall(session,
                                                         "FEATURE fi.Name: " + fi.Name + ", fi.CurrentState: " + fi.CurrentState +
                                                         ", fi.RequestState:" + fi.RequestState, null, false);
                    }
                }
                listFeactureScripts = GetFeatureScriptDataBase(session, listFeactureNames);
                data.AddObject("DATABASE_FEACTURESCRIPTS", listFeactureScripts);
                // Add all the properties in a single variable
                //session["CUSTOMACTIONDATA_PROPERTIES"] = data.ToString();

                // Schedule deferred actions
                //session.DoAction("CA_DataBaseExecuteScripts", data);
                //return ActionResult.Success;
            }
            catch (Exception ex)
            {
                InstallUtilities.WriteLogInstall(session, "Exception to establish installation paths for database.", ex, true);
                return(ActionResult.Failure);
            }

            try
            {
                // Active message only for debugging developing
                // MessageBox.Show ( " ExecuteSQLScripts : To debug in VS Net, on the Debug menu, ' Attach to process '
                // Msiexec.exe and rundll32.exe " DEBUG : ExecuteSQLScripts " , MessageBoxButtons.OK , MessageBoxIcon.Information );
                MessageResult iResult;
                string        sInstallLocation, sServer, sDatabase, sMessage;
                int           iTotalTicks, iTickIncrement = 1;
                bool          isCustomActionData = true;

                if (session == null)
                {
                    throw new ArgumentNullException("session");
                }
                // sInstallLocation = GetSessionProperty(session, "INSTALLLOCATION", isCustomActionData);
                sServer = GetSessionProperty(session, "DATABASE_SERVERNAME", false);
                //PRESET TO STANDARD DATABASE NAME
                //sDatabase = GetSessionProperty(session, "DATABASE_NAME", isCustomActionData);

                //List<DataBasePathTO> listPaths = GetCustomTableDataBasePaths(session, isCustomActionData);

                var listF = data.GetObject <List <FeatureInstallTO> >("DATABASE_FEACTURESCRIPTS");
                iTotalTicks = listF.Count;

                InstallUtilities.WriteLogInstall(session, "Initialised ExecuteSQLScripts ...", null, true);
                iResult = InstallProgress.ResetProgress(session, iTotalTicks);
                if (iResult == MessageResult.Cancel)
                {
                    return(ActionResult.UserExit);
                }

                sMessage = "Executed Script on SQL Server: " + sServer;
                iResult  = InstallProgress.DisplayStatusActionStart(session, sMessage, sMessage, "[1] / [2]: [3]");
                if (iResult == MessageResult.Cancel)
                {
                    return(ActionResult.UserExit);
                }

                iResult = InstallProgress.NumberOfTicksPerActionData(session, iTickIncrement, true);
                if (iResult == MessageResult.Cancel)
                {
                    return(ActionResult.UserExit);
                }

                for (int i = 0; i < listF.Count; i++)
                {
                    ExecuteSQLScript(session, listF[i].DirectoryPath, listF[i].FileName, isCustomActionData);
                    iResult = InstallProgress.DisplayActionData3(session, (i + 1).ToString(), iTotalTicks.ToString(),
                                                                 InstallUtilities.Right(Path.Combine(listF[i].DirectoryPath, listF[i].FileName), 200));
                    if (iResult == MessageResult.Cancel)
                    {
                        return(ActionResult.UserExit);
                    }
                }
            }
            catch (Exception ex)
            {
                InstallUtilities.WriteLogInstall(session, @"Exception executing script against the database", ex, true);

                MessageBox.Show(ex.Message, @"Error while executing scripts", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(ActionResult.Failure);
            }

            return(ActionResult.Success);
        }