/// <summary>
        /// Allows user to point to a different app manifest
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnSelectAppManifest(object sender, EventArgs e)
        {
            // Prompt for path
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter = "Application Manifests (*.manifest)|*.manifest|All Files (*.*)|*.*";

            // Use last path if available
            if (!string.IsNullOrEmpty(Settings.Default.LastManifestPath) &&
                (Directory.Exists(Settings.Default.LastManifestPath)))
            {
                ofd.InitialDirectory = Settings.Default.LastManifestPath;
            }

            // Load file list if user selects manifest
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                string fileName = ofd.FileName;
                try
                {
                    m_AppManifest   = ManifestHelper.LoadAppManifest(fileName);
                    m_Prerequisites = ManifestHelper.GetPrerequisites(m_AppManifest);
                    m_Files         = ManifestHelper.GetFiles(m_AppManifest);
                    filesBindingSource.DataSource = m_Files;
                    ManifestHelper.UpdateDeployManifestAppReference(m_DeployManifest, m_AppManifest);
                    appManifestPathTextBox.Text = m_DeployManifest.EntryPoint.TargetPath;
                    EnableToolStripItems(true);
                }
                catch
                {
                    MessageBox.Show("Invalid manifest");
                }
            }
        }