AssemblyInstaller оставляет заблокированным файл
От: Vovan_2 Россия  
Дата: 18.11.09 12:54
Оценка:
Пишу деинсталлятор, который удаляет службу и стирает её файлы:

AssemblyInstaller assemblyInstaller = null;
try
{
    assemblyInstaller = new AssemblyInstaller(_servicePath, new string[0]);

    IDictionary mySavedState = new Hashtable();
    assemblyInstaller.Uninstall(mySavedState);
}
catch(Exception ex)
{
    //...
}
finally
{
    if (assemblyInstaller != null)
        assemblyInstaller.Dispose();
}
// ...
ClearDirectory()   // Удаление файлов службы

После срабатывания конструктора экзешник службы блокируется (смотрю Анлокером), причём, блокирующий процесс мой же. Потом служба успешно удаляется из системы, но даже после Dispose() файл остаётся заблокированным. В результате не могу очистить директорию службы.
Что делать? Как разблокировать и удалить файл?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.