Подскажите пожалуйста, как можно открывать архивы через внешнее приложение(explorer или всякие архиваторы)? Пробовал через Process.Start , но почему то после срабатывания метода архив ломается и не открывается(При открытии выдает ошибку - the archive is either in unknown format or damaged).
var filePath = Settings.TempDirectory + (string.IsNullOrEmpty(realname) ? fileName : realname);
File.WriteAllBytes(filePath, fileContent);
var psi = new ProcessStartInfo
{
FileName = filePath,
ErrorDialog = true,
};
Process.Start(psi);
Как один из возможных вариантов. Если у вас в системе установлен 7z, то с помощью его менеджера 7zFM можно открыть архив следующим образом:
static void Main(string[] args)
{
var processStartInfo = new ProcessStartInfo();
processStartInfo.UseShellExecute = false;
processStartInfo.FileName = @"C:\Program Files\7-Zip\7zFM.exe";
processStartInfo.Arguments = @"D:\nuget.7z";
Process.Start(processStartInfo);
Console.ReadLine();
}
В результате у вас запуститься окно менеджера архивов 7z(которым мы привыкли пользоваться, когда используем 7z), где вы увидите распакованный архив nuget.7z
Для того, чтобы открыть архив с ассоциированной программой, сделайте так
var processStartInfo = new ProcessStartInfo();
processStartInfo.FileName = @"D:\nuget.7z";
Process.Start(processStartInfo);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости