/// <summary>
        /// Handles the Click event of the buttonPublish control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.Windows.RoutedEventArgs"/> instance containing the event data.</param>
        /// <remarks>Documented by Dev07, 2009-05-20</remarks>
        private void buttonPublish_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                labelStatus.Content = "Please wait. Saving module...";
                IsEnabled           = false;
                System.Windows.Forms.Application.DoEvents();

                //open dialog to save published LM
                System.Windows.Forms.SaveFileDialog saveDialog = new System.Windows.Forms.SaveFileDialog();
                saveDialog.FileName = lmFile;
                saveDialog.Filter   = "MemoryLifter Learning Module (*.mlm)|*.mlm";
                if (saveDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    if (!Publisher.CopyLM(lmFile, saveDialog.FileName))
                    {
                        MessageBox.Show("Cannot copy the LM to the selected folder, please try again!", "Error!", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                    if (!Publisher.DeleteUserProfiles(saveDialog.FileName))
                    {
                        MessageBox.Show("Cannot delete existing User Profiles, please contact the Development Team!", "Error!", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }

                    MessageBox.Show("LM was succesfully published!", "Success!", MessageBoxButton.OK, MessageBoxImage.Information);
                }
            }
            finally { IsEnabled = true; labelStatus.Content = null; }
        }