Конфигурация: Сервер Windows 2008 x64.XXX.exe не является действительным приложением Win32
Программное обеспечение - это кроссплатформенная платформа C++ 64bit.
Предыдущий инсталлятор по умолчанию для запроса пользователю установить в
C: \ Program Files (x86) \ Компания \ версия
Для последней версии я изменил установки, используя путь переопределение для установки на
C: \ Program Files \ компания \ версия
ребята, кто делает тестирование для нас говорит, что с новой установки в C: \ Program Files \ суб-процессы не запускается. Переопределить установку в c: \ Program Files (x86) \ xxx все нормально. Переход к cmd.exe и запуск из C: \ Program Files \ xxx приводит к ошибке «yyy.exe не является допустимым приложением Win32». Опять же, это не проблема с c: \ Program Files (x86).
Клиент также установил по умолчанию местоположение и получает те же ошибки.
В моей машине/dev нет таких ошибок. Он запускает демонстрационную версию сервера 2008 (и visual studio express), которая никогда не обновляется и никогда не перезагружается.
Есть ли что-то особенное в отношении «x86», прикрепленного к файлам программы?
Примечание:
Это не проблема на моей машине Dev, которая также сервер 2008 x86_64.
Dumbin/headers ясно указывает, что эти программы 64 бит.
На данный момент ответа нет. Обходным путем является просто установить на Program Files (x86) или в другом месте и сделать с ним. Поставит FAQ, который пользователи НЕ должны устанавливать в Program Files (они будут смотреть на faq, если материал станет ядерным).
Это может быть проблема с установщиком, это может быть классический случай «quack.exe», но применяется к «Program Files». Есть веская причина, почему я вообще ненавижу окна.
Попробуйте проверить exe в плохом месте с помощью просмотра зависимостей. Должен сказать вам, какие DLL недоступны. Кроме того, попробуйте контролировать процесс во время его запуска с помощью procmon или так, и посмотрите, что не удается во время выполнения. Это должно дать вам лучшее представление о том, чего не хватает. – eran
Пользователь запускает программу из cmd.exe. Ошибка - это диалог, показывающий выше. Что меня бесит, я абсолютно не могу воссоздать эту ошибку самостоятельно. Я просто обновился до sp2 и позже. – Brian