Проблема изменения ресурсов на существующем .exe - PullRequest
0 голосов
/ 13 сентября 2009

Я столкнулся с проблемой, которая сводит меня с ума, надеюсь, кто-то сможет пролить свет на это. Как часть моего процесса сборки у меня есть отдельный .exe, который обновляет VersionInfo для файла. Я буквально использую это в более чем 20+ программах, но по какой-то причине в одной из них удаляется вся существующая информация о ресурсах из exe. Я на самом деле урезал его, и я могу получить точное поведение, просто позвонив:

if ((ResourceHandle = BeginUpdateResource(Target, FALSE)) != NULL)
 {
 EndUpdateResource(ResourceHandle, FALSE);
}

Я использую приведенное выше в качестве простого примера, но в моем случае я проверяю коды возврата, и все работает правильно. Если я запускаю тот же код для своих 20 других приложений, он не затрагивает их, но запускает его в этом, и он удаляет данные ресурса.

Я просмотрел файл .rc, удалил его фрагменты, перестроил его всеми возможными способами, и результат тот же. Я также могу загрузить его в DevStudio, и он не сообщает, что что-то повреждено и т. Д. Процесс сборки абсолютно одинаков для всех приложений (они создаются с помощью make-файлов, так что никакой магии там тоже не происходит).

Кто-нибудь еще испытывал подобное поведение? Похоже, что другие люди столкнулись с этим здесь .

Но пока я не нашел решения ...

1 Ответ

0 голосов
/ 13 сентября 2009

Как часть процесса сборки, я программно редактирую исходный код для номера версии (в исходном файле ресурса), вместо того, чтобы редактировать * .exe ..., чтобы я не мог получить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...