C# Erro ao Extrair um Arquivo ".rar" para uma pasta

Estou desenvolvendo uma aplicação que baixa um arquivo winrar da nuvem e quero que ele extraia em um diretório Especifico, no começo a extração acontece normalmente, mas em algumas pastas e arquivos específicos, da erro na Extração. Estou usando o: SharpCompress.dll

O Código:
private void Extrair_RAR1(string Local_RAR, string Destino)
{
PGbar.Maximum = 3600;
Logs.Items.Add(“Iniciando Extração…”);
PGbar.Invoke(new MethodInvoker(delegate { PGbar.Value = PGbar.Value + 1; }));
RarArchive archive = RarArchive.Open(Local_RAR);

        var options = new ExtractionOptions();
        try

        {
            foreach (RarArchiveEntry entry in archive.Entries)
            {
                try
                {
                    string fileName = Path.GetFileName(entry.Key);
                    string rootToFile = Destino.Replace(".rar", "") + (Path.GetFullPath(entry.Key).Replace(fileName, "").Replace(Application.StartupPath, ""));
                    options.ExtractFullPath = true;
                    options.Overwrite = true;
                    options.PreserveAttributes = false;
                    if (!Directory.Exists(rootToFile))
                    { Directory.CreateDirectory(rootToFile); }
                    // Setar Arquivos que não podem ser alterados!!!!!!!!!!!!

                    if (fileName == "connectionString.config") { }
                    else if (fileName == "logging.config") { }
                    else if (fileName == "Web.config") { }
                    else if (fileName == "") { }
                    else if (fileName == "") { }
                    else { entry.WriteToFile(rootToFile + @"\" + fileName, options); }
                }
                catch (Exception ex) { MessageBox.Show("Error ao Extrair RAR!\n" + ex); }
                PGbar.Invoke(new MethodInvoker(delegate { PGbar.Value = PGbar.Value + 1; }));
            }
            Prog_AT++;
        }
        catch (Exception ex){ MessageBox.Show("Erro aao Extrair RAR_ALL!!\n" + ex); }
        PGbar.Invoke(new MethodInvoker(delegate { PGbar.Value = PGbar.Value + 1; }));
        Logs.Items.Add("Extração Finalizada...");
        Prog_AT++; Prog_AT++; Prog_AT++; Prog_AT++;
    }

Bom, pelo o retorno do try-catch, esta mostrando que o usuário não tem permissão para acessar a pasta, segue a guia abaixo de permissões para pasta e arquivos…