Finalmente vamos encerrar o post: Criando um COM+ integrado com SVN: Parte I. Primeiro, desculpe a demora em finalizar este post, mas realmente não estava conseguindo um tempo para escrever.
No post Utilizando SVN com C# nós vimos a utilização da classe System.Diagnostics.Process para executar algumas ações do SVN.
Bom, juntando o útil ao agradável, o que nós precisamos fazer agora é criar alguns métodos no nosso COM+ para que ele possa executar determinadas ações do SVN.
Abaixo veja alguns exemplos que podem ser criados:
public bool CriaRepositorio(string CaminhoSVNServer, string CaminhoRepositorio, string repositorio)
{
try
{
Process processo = new Process();
processo.StartInfo = new ProcessStartInfo(CaminhoSVNServer + "svnadmin.exe", "create "+ CaminhoRepositorio + repositorio);
processo.Start();
processo.WaitForExit();
return true;
}
catch (Exception ex)
{
EventLog.WriteEntry("SVN - Criação de Repositório", "Erro: " + ex.Message.ToString() +" || "+ ex.Source.ToString());
return false;
}
}
public bool CriaPasta(string SVNSever, string CaminhoSVNServer, string pasta, string usuario, string password)
{
try
{
Process processo = new Process();
processo.StartInfo = new ProcessStartInfo(CaminhoSVNServer+ "svn.exe", "mkdir -m[notepad] --username \""+ usuario +"\" --password \""+ password +"\" " + SVNSever + pasta);
processo.Start();
processo.WaitForExit();
return true;
}
catch (Exception ex)
{
EventLog.WriteEntry("SVN Webroom - Criação de Pasta", "Erro: " + ex.Message.ToString() + " || " + ex.Source.ToString());
return false;
}
}
Agora vocês podem usar a imaginação e criar mais métodos. Assim que todos os métodos forem criados o que precisamos fazer é dar permissões ao COM+ para que o mesmo possa rodar no servidor, com permissões para executar os processos do SVN.
Passo 1
Registre novamente a DLL, para isso digite a seguinte linha de comando do Visual Studio.
//Linha de comando para registrar uma DLL:
//Digite o caminho até a DLL que será registrada
//regsvcs D:\Arquivos de programas\Complus\Complus\bin\Debug\nome_da_dll.dll
Passo 2
Uma vez registrado a DLL, devemos acessar o Painel de Controle -> Ferramentas Administrativas -> Componetes de Serviço. Você irá notar que existe um processo com o mesmo nome da DLL, pois é, este é seu COM+ rodando.
Passo 3
Feito isso, você deve agora setar as seguintes permissões no COM+.

Clique com o botão direito no Serviço criado e em seguida na guia de Segurança. Marque a primeira opção Autorização e em Nível de Segurança marque a segunda opção.

Agora vá na guia Ativação, em Tipo de Ativação marque Aplicativo de servidor e executar aplicativo como Serviço NT.
Clique em OK. Bom, após realizar todos esses passos o seu COM+ já deve estar funcionando. Caso vocês tenham algum problema podem me perguntar.
Espero que tenham gostado desta série.
Em breve tem mais.