// Override the 'Install' method.
        public override void Install(IDictionary savedState)
        {
            base.Install(savedState);

            string user = this.Context.Parameters["userName"];
            string serial = this.Context.Parameters["serial"];
            if (IsSerialValid(user, serial))
            {
                //Check for RealPlayer version
                if (IsRealPlayerVersionProper() == false)
                {
                    //Installation is necessary
                    string targetDirectory = this.Context.Parameters["targetDir"];
                    using (RealPlayerSetup frmRealPlayerSetup = new RealPlayerSetup(targetDirectory))
                    {
                        frmRealPlayerSetup.ShowDialog();
                    }

                }
            }
            else
            {
                System.Windows.Forms.MessageBox.Show("Invalid serial", "RaagaHacker Serial Validation", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                //Rollback;
                base.Uninstall(savedState);
            }
        }
        // Override the 'Install' method.
        public override void Install(IDictionary savedState)
        {
            base.Install(savedState);

            //Check for RealPlayer version
            if (IsRealPlayerVersionProper() == false)
            {
                //Installation is necessary
                string targetDirectory = this.Context.Parameters["targetDir"];
                using (RealPlayerSetup frmRealPlayerSetup = new RealPlayerSetup(targetDirectory))
                {
                    frmRealPlayerSetup.ShowDialog();
                }

            }
        }