private bool initializeSetup()
        {
            //BETA RTM SWITCH
            _context = new setupContext {
                Product = new productBeta()
            };

            //Setupseiten initialisieren
            _setupPages = new Dictionary <Type, ISetupPage> {
                { typeof(stpBeta), new stpBeta() },
                { typeof(stpLicense), new stpLicense() },
                { typeof(stpDonate), new stpDonate() },
                { typeof(stpOptions), new stpOptions() },
                { typeof(stpInstall), new stpInstall() },
                { typeof(stpInterrupted), new stpInterrupted() },
                { typeof(stpInstalled), new stpInstalled() },
                { typeof(stpWelcomeUninstall), new stpWelcomeUninstall() },
                { typeof(stpUninstall), new stpUninstall() },
                { typeof(stpUninstalled), new stpUninstalled() },
                { typeof(stpUpgrade), new stpUpgrade() }
            };

            _context.isUpgrade = (ProgramsAndFeaturesHelper.isInstalled(_context.Product) &&
                                  ProgramsAndFeaturesHelper.getCurrentVersion(_context.Product) <
                                  Assembly.GetExecutingAssembly().GetName().Version);

            if (ProgramsAndFeaturesHelper.isInstalled(_context.Product) &&
                ProgramsAndFeaturesHelper.getCurrentVersion(_context.Product) == Assembly.GetExecutingAssembly().GetName().Version&&
                !_arguments.Contains("/uninstall"))
            {
                if (MessageBox.Show(string.Format("Es ist bereits eine identische Version von {0} installiert.\r\nMöchten Sie das Setup trotzdem starten?", _context.Product.Product), _context.Product.Product, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No)
                {
                    return(false);
                }
            }

            return(true);
        }