private void createPackageButton_Click(object sender, EventArgs e) { //Prepare string[] parts = null; string localName = null; AssemblyName name = null; //Create using (SaveFileDialog saveDlg = new SaveFileDialog()) { //Setup saveDlg.FileName = "Update"; saveDlg.Filter = "Abide Update Package Files (*.aup)|*.aup;"; //Show if (saveDlg.ShowDialog() == DialogResult.OK) { //Save Settings.Default.ReleaseNotes = releaseNotesRichTextBox.Text; Settings.Default.PackageUrl = updatePackageUrlTextBox.Text; Settings.Default.Save(); //Get Save Root string saveRoot = Path.GetDirectoryName(saveDlg.FileName); //Make Package UpdatePackageFile package = new UpdatePackageFile(); UpdateManifest manifest = new UpdateManifest(); string[] files = node_GetFiles(filesTreeView.Nodes); //Setup manifest.Release = DateTime.UtcNow; manifest.ReleaseNotes = releaseNotesRichTextBox.Text; manifest.PackageUrl = updatePackageUrlTextBox.Text; //Loop foreach (string file in files) { //Setup parts = file.Replace(root, string.Empty).Split(new char[] { '\\' }, StringSplitOptions.RemoveEmptyEntries); try { name = AssemblyName.GetAssemblyName(file); } catch { name = null; } localName = string.Join("\\", parts); //Add to manifest manifest.Add(localName, name); //Add to package package.AddFile(file, localName); } //Save Manifest using (FileStream fs = new FileStream(Path.Combine(saveRoot, "Update.xml"), FileMode.Create, FileAccess.Write, FileShare.Read)) { //Create Writer XmlWriter writer = XmlWriter.Create(fs, new XmlWriterSettings() { Indent = true }); //Write Manifest manifest.SaveXml(writer); //Close writer.Close(); } //Save Package using (FileStream fs = new FileStream(saveDlg.FileName, FileMode.Create, FileAccess.Write, FileShare.Read)) package.Save(fs); } } }
private Main() { InitializeComponent(); package = new UpdatePackageFile(); }