private void ReadFile(string filename) { try { if (!VerifyImportArchive(filename)) { System.Windows.MessageBox.Show("Archive does not contain button data file " + StreamDeckConstants.BUTTON_EXPORT_FILENAME + ". Choose an other file.", "Invalid export file", MessageBoxButton.OK, MessageBoxImage.Error); return; } /* * Copy zip to temp folder and work on it there */ StreamDeckCommon.CleanDCSFPTemporaryFolder(); var tempFolder = StreamDeckCommon.GetDCSFPTemporaryFolder(); _extractedFilesFolder = tempFolder + "\\extracted_files"; if (!Directory.Exists(_extractedFilesFolder)) { Directory.CreateDirectory(_extractedFilesFolder); } File.Copy(filename, tempFolder + "\\" + Path.GetFileName(filename)); filename = tempFolder + "\\" + Path.GetFileName(filename); /* * Extract files to folder extracted_files */ ZipArchiver.ExtractZipFile(filename, _extractedFilesFolder); Clear(); var fileContents = File.ReadAllText(_extractedFilesFolder + "\\" + StreamDeckConstants.BUTTON_EXPORT_FILENAME); TranslateJSON(fileContents); ShowButtons(); } finally { Mouse.OverrideCursor = System.Windows.Input.Cursors.Arrow; } }