private void installToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Filter = "Modifications|*.mod.zip"; DialogResult result = fileDialog.ShowDialog(); if (result == DialogResult.Cancel) { return; } string tempPath = Path.GetTempPath(); string fileName = Path.GetFileNameWithoutExtension(Path.GetFileNameWithoutExtension(fileDialog.FileName)); string extractPath = Path.Combine(tempPath, fileName); string installFilePath = Path.Combine(extractPath, "install.xml"); try { if (Directory.Exists(extractPath)) { Directory.Delete(extractPath, true); } Directory.CreateDirectory(extractPath); using (ZipFile zipFile = new ZipFile(fileDialog.FileName)) { zipFile.ExtractAll(extractPath); } } catch { string errCaption = "Error"; string errMessage = "Error extracting modification to temporary directory."; MessageBox.Show(errMessage, errCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (File.Exists(installFilePath) == false) { string errCaption = "Error"; string errMessage = String.Format("The modification {0} does not contain a install.xml file.", fileName); MessageBox.Show(errMessage, errCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } Modification modification = new Modification(installFilePath); if (modification.IntegrityCheck == false) { string errCaption = "Error"; string errMessage = "The modification install.xml contains bad syntax, could not install."; MessageBox.Show(errMessage, errCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } ModificationForm modificationForm = new ModificationForm(modification); modificationForm.Show(this); }
private void installToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Filter = "Modifications|*.mod.zip"; DialogResult result = fileDialog.ShowDialog(); if (result == DialogResult.Cancel) return; string tempPath = Path.GetTempPath(); string fileName = Path.GetFileNameWithoutExtension(Path.GetFileNameWithoutExtension(fileDialog.FileName)); string extractPath = Path.Combine(tempPath, fileName + DateTime.Now.ToFileTime().ToString()); string installFilePath = Path.Combine(extractPath, "install.xml"); try { if (Directory.Exists(extractPath)) Directory.Delete(extractPath, true); Directory.CreateDirectory(extractPath); using (ZipFile zipFile = new ZipFile(fileDialog.FileName)) { zipFile.ExtractAll(extractPath); } } catch { string errCaption = "Error"; string errMessage = "Error extracting modification to temporary directory."; MessageBox.Show(errMessage, errCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (File.Exists(installFilePath) == false) { string errCaption = "Error"; string errMessage = String.Format("The modification {0} does not contain a install.xml file.", fileName); MessageBox.Show(errMessage, errCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } Modification modification = new Modification(installFilePath); if (modification.IntegrityCheck == false) { string errCaption = "Error"; string errMessage = "The modification install.xml contains bad syntax, could not install."; MessageBox.Show(errMessage, errCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } ModificationForm modificationForm = new ModificationForm(modification); modificationForm.Show(this); }