private void OnSignAndSave(object sender, EventArgs e) { // Make sure the entered cert file exists if (File.Exists(m_PathTextBox.Text)) { // Update hashes and size info for files m_AppManifest.ResolveFiles(); m_AppManifest.UpdateFileInfo(); // Write app manifest ManifestWriter.WriteManifest(m_AppManifest); // Sign app manifest ManifestHelper.SignManifest(m_AppManifest, m_PathTextBox.Text, m_PasswordTextBox.Text); ManifestHelper.UpdateDeployManifestAppReference(m_DeployManifest, m_AppManifest); // Write deploy manifest ManifestWriter.WriteManifest(m_DeployManifest); // sign deploy manifest ManifestHelper.SignManifest(m_DeployManifest, m_PathTextBox.Text, m_PasswordTextBox.Text); DialogResult = DialogResult.OK; Close(); } else { m_ErrorProvider.SetError(m_PathTextBox, "Invalid Path"); } }
/// <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"); } } }