Что нового

Ошибка запуска программы из-за имени папки

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Путь к проекту: Рабочий стол\Проект\Folder_S
В этой папке исходники. В ней же и компилируется программа. Сегодня стали вываливаться ошибки. В программе происходит извлечение dll и запуск функции. После отработки функции библиотека закрывается и удаляется. До сегодня все было без проблем. Сегодня библиотека перестала удаляться. То есть не происходит закрытие и удаление.
Код принципиально не менял. Решил переименовать папку Проект. Имя на английском сделал. Все работает.
Переименовал папку Folder_S - получилось Проект\Folder_S1
Тоже работает. А вот в связке Проект\Folder_S никак.
Система Вин 10 х64. Антивирь родной. Папку, на всякий случай, поставил в исключения. Все равно ошибка.
Отключал защиту - та же история. Как будто путь Проект\Folder_S запрещен самой системой :smile:
Программа запускается с правами админа.
Короче, в чем косяк так и не понял. И дело даже не в кирилице.
 
Автор
joiner

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Сегодня на свежую голову нашел решение проблемы.
Как и подозревал, сама система запретила запуск.
Сразу не написал, а надо было. Дело в том, что один раз моя программа была принудительно закрыта системой. Я добавил строку, из-за которой не произошло корректного закрытия сторонней библиотеки. На Вин 7 после таких крахов программы система просто закрывала ее. В инете нашел, что начиная с Вин 8 система делает пометку в реестр, если программа, которая работает с внешними плагинами или библиотеками, крашится.
Вот такая запись
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\]
"C:\\Users\\Brut\\Desktop\\Проект\\Folder_S\\Моя программа.exe"="$ IgnoreFreeLibrary<open.dll>"

Удаляем запись и радуемся жизни.
 
Верх