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