protected override void RegisterModules(PaFolder Folder, ArrayList Modules, ArrayList Controls)
        {
            InstallerInfo.Log.AddInfo(REGISTER_Controls);

            ModuleControlController objModuleControls = new ModuleControlController();

            ModuleControlInfo objModuleControl;
            foreach (ModuleControlInfo tempLoopVar_objModuleControl in Controls)
            {
                objModuleControl = tempLoopVar_objModuleControl;
                // Skins Objects have a null ModuleDefID
                objModuleControl.ModuleDefID = Null.NullInteger;

                // check if control exists
                ModuleControlInfo objModuleControl2 = objModuleControls.GetModuleControlByKeyAndSrc(Null.NullInteger, objModuleControl.ControlKey, objModuleControl.ControlSrc);
                if (objModuleControl2 == null)
                {
                    // add new control
                    objModuleControls.AddModuleControl(objModuleControl);
                }
                else
                {
                    // update existing control
                    objModuleControl.ModuleControlID = objModuleControl2.ModuleControlID;
                    objModuleControls.UpdateModuleControl(objModuleControl);
                }
            }

            InstallerInfo.Log.EndJob(REGISTER_End);
        }
        /// <summary>
        /// cmdUpdate_Click runs when the Update Button is clicked
        /// </summary>
        /// <returns></returns>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// 	[cnurse]	9/28/2004	Updated to reflect design changes for Help, 508 support
        ///                       and localisation
        /// </history>
        protected void cmdUpdate_Click( object sender, EventArgs e )
        {
            try
            {
                if( Page.IsValid )
                {
                    ModuleControlInfo objModuleControl = new ModuleControlInfo();

                    objModuleControl.ModuleControlID = ModuleControlId;
                    objModuleControl.ModuleDefID = ModuleDefId;
                    if( !String.IsNullOrEmpty(txtKey.Text) )
                    {
                        objModuleControl.ControlKey = txtKey.Text;
                    }
                    else
                    {
                        objModuleControl.ControlKey = Null.NullString;
                    }
                    if( !String.IsNullOrEmpty(txtTitle.Text) )
                    {
                        objModuleControl.ControlTitle = txtTitle.Text;
                    }
                    else
                    {
                        objModuleControl.ControlTitle = Null.NullString;
                    }
                    objModuleControl.ControlSrc = cboSource.SelectedItem.Text;
                    objModuleControl.ControlType = (SecurityAccessLevel)Enum.Parse(typeof(SecurityAccessLevel), cboType.SelectedItem.Value);
                    if( !String.IsNullOrEmpty(txtViewOrder.Text) )
                    {
                        objModuleControl.ViewOrder = int.Parse( txtViewOrder.Text );
                    }
                    else
                    {
                        objModuleControl.ViewOrder = Null.NullInteger;
                    }
                    if( cboIcon.SelectedIndex > 0 )
                    {
                        objModuleControl.IconFile = cboIcon.SelectedItem.Text;
                    }
                    else
                    {
                        objModuleControl.IconFile = Null.NullString;
                    }

                    if( !String.IsNullOrEmpty(txtHelpURL.Text) )
                    {
                        objModuleControl.HelpURL = txtHelpURL.Text;
                    }
                    else
                    {
                        objModuleControl.HelpURL = Null.NullString;
                    }

                    ModuleControlController objModuleControls = new ModuleControlController();

                    if( Null.IsNull( ModuleControlId ) )
                    {
                        try
                        {
                            objModuleControls.AddModuleControl( objModuleControl );
                        }
                        catch
                        {
                            UI.Skins.Skin.AddModuleMessage( this, Localization.GetString( "AddControl.ErrorMessage", this.LocalResourceFile ), ModuleMessageType.RedError );
                            return;
                        }
                    }
                    else
                    {
                        objModuleControls.UpdateModuleControl( objModuleControl );
                    }

                    if( DesktopModuleId == - 1 )
                    {
                        DesktopModuleId = - 2;
                    }
                    Response.Redirect( EditUrl( "desktopmoduleid", DesktopModuleId.ToString() ), true );
                }
            }
            catch( Exception exc ) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException( this, exc );
            }
        }