Я компилирую свое приложение на компьютере с Windows XP SP3. Когда он компилируется, я пытаюсь запустить его, и Windows отвечает мне:
Не удается запустить программу «хх». Не удалось запустить это приложение из-за неправильной конфигурации приложения. Просмотрите файл манифеста на наличие возможных ошибок. Переустановка приложения может решить проблему. Дополнительные сведения см. в журнале событий приложения.
Попытка скопировать файлы DLL не помогла (см. мой предыдущий вопрос, если хотите).
Тогда я запустил Монитор процессов из sysinternals.
Попытаюсь обобщить отчет, пока он не очень длинный.
Запускается процесс, затем его первый поток. Ниже приведены вызовы:
QueryNameInformationFile() моего исполняемого файла => УСПЕХ
Загрузить изображение() моего исполняемого файла => УСПЕХ
Загрузить Изображение() ntdll.dll => УСПЕХ
QueryNameInformationFile(), если мой исполняемый файл => УСПЕХ
CreateFile() Попробуйте создать его на C: \WINDOWS\Prefetch\blahbla.pf => ИМЯ НЕ НАЙДЕНО
, то поток и процесс завершаются.
Я добавил своим пользователям полный доступ к этой папке (C:\WINDOWS\prefetch), но это не помогло. Как заставить это работать? Я чувствую, что если я пройду этот шаг, мое приложение будет работать так, как ожидалось.
Изменить: я добавляю информацию об ошибке procmon:
18:13:40,4305346 xxx.exe 3172 CreateFile C:\WINDOWS\Prefetch\XXX.EXE-1FA9609A.pf ИМЯ НЕ НАЙДЕНО Требуемый доступ: Общее чтение, Расположение: Открыто, Параметры: Синхронный ввод-вывод без предупреждения, Атрибуты: n /a, ShareMode: нет, AllocationSize: н/д