Пишу деинсталлятор... При запуске он копирует себя во временную папку, передавая в качестве аргумента командной строки директорию запуска своего первого экземпляра, и из Temp по этой директории удаляет все файлы и папки... кроме одной - директории запуска своего приложения-родителя, при этом самого родителя успешно затирает при помощи DeleteFile(). Корневую папку отказывается удалять с кодом 32 (приложение занято другим процессом).
Подскажите пожалуйста, как удалить эту последнюю директорию? Наверное надо как-то обеспечить независимость запускаемого экземпляра от приложения родителя, или как-то запускать дочернее приложение с задержкой, при этом, чтобы успел закрыться вызывающий процесс... Только я не знаю как эти догадки реализовать... ((
Думаю, что каталог нельзя удалить потому, что он является текущим каталогом в удаляющем процессе.
Попробуйте сменить текущий каталог при помощи SetCurrentDirectory
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Почему код int* p = &(*(&n)) корректно работает? Я, представляя себя компилятором, воспроизвожу код так:
Проблема заключается в том что я не могу понять почему я получаю ошибку SIGSEGVЕсли я собираю в режиме Debug программа работает, все хорошо, все...
Что это обозначает и зачем оно вообще нужно? Может где то используется?