Здравствуйте Рома Мик, Вы писали:
РМ>Как делают uninstaller'ы? РМ>1. Хочу удалить запущенный exe-шник, из самого этого exe-шника. РМ>2. Хочу гарантированно удалить dll, зарегистрированную как COM сервер, который кто-то может юзать (с оч. большой вероятностью — т.к. shell extention, т.е. Explorer, скорее всего держит.) РМ>Все это, чтобы сделать Uninstaller.
В реестре есть специальное место для стирания/переименования залоченых файлов. Все это дело происходит во время следующей перезагрузки, до загрузки в память большинства компонент, могущих поюзать требуемые файлы. Аналогичным образом например инсталлируются сервиспаки — ведь файлы которые они подменяют — точно заняты — и друого пути просто нет.
Какой конкретно ключ я к сожалению не помню, если к тому времени как найду это будет все еще актуально, напишу.