public void HandleExportTraceEnableFile() { CommonConfiguration commonConfig = CommonConfiguration.Get(); if (commonConfig != null) { string fileName = "TraceEnable.reg"; var dialog = new Microsoft.Win32.SaveFileDialog() { DefaultExt = ".reg", Filter = "Registry Edit (.reg)|*.reg", FilterIndex = 1, RestoreDirectory = true, FileName = fileName, }; if (!string.IsNullOrEmpty(commonConfig.FolderForExport)) { dialog.InitialDirectory = commonConfig.FolderForExport; } if (dialog.ShowDialog().GetValueOrDefault()) { ActivateOutputWindow(null); WriteToOutputEmptyLines(null, commonConfig); try { Uri uri = FileOperations.GetResourceUri(fileName); StreamResourceInfo info = Application.GetResourceStream(uri); var filePath = dialog.FileName; byte[] buffer = new byte[16345]; using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None)) { int read; while ((read = info.Stream.Read(buffer, 0, buffer.Length)) > 0) { fs.Write(buffer, 0, read); } } this.WriteToOutput(null, string.Empty); this.WriteToOutput(null, string.Empty); this.WriteToOutput(null, string.Empty); this.WriteToOutput(null, "{0} exported.", fileName); this.WriteToOutput(null, string.Empty); this.WriteToOutputFilePathUri(null, filePath); SelectFileInFolder(null, filePath); } catch (Exception ex) { WriteErrorToOutput(null, ex); } } } }