2

У меня есть программа, которую я хочу распространять через мой веб-сервер под управлением Debian.

Поэтому я загрузил свои файлы, содержащие библиотеки DLL, на сервер. После того, как я позволил им загрузить приложение обновления, я получил ошибку. Поэтому я попытался загрузить их, как будто я их загрузил: через Eclipse IDE. Но ошибка также произошла:

Название диалога ошибок:

Main.exe - Плохое изображение

Ошибка:

Blabla.dll либо не предназначен для работы в Windows, либо содержит ошибку […] Состояние ошибки 0xc0000130.

Поэтому мне интересно, что вызывает повреждение DLL. Это связано с Eclipse или Debian?

РЕДАКТИРОВАТЬ Контрольные суммы md5 оригинала, загруженного и загруженного файла отличаются.

EDIT2 Кажется, это проблема между кодовой страницей, выбранной в Eclipse, которая является UTF-8. Я протестирую его с помощью cp1250 (быстрый тест работал до сих пор, но мое приложение не работает) подробно завтра.

EDIT3 Кроме того, мой апдейтер не работал правильно, интерпретируя загруженные файлы как текстовые файлы.

1 ответ1

0

Одной из типичных причин может быть неполная загрузка. Проверьте размер загруженных библиотек DLL, перезагрузите, если размер меньше ожидаемого.

Другой причиной является преобразование файлов между Windows и UNIX, что приводит к повреждению двоичных файлов при их ошибочной передаче в текстовом режиме. Я не верю, что это ваш случай (поскольку вы, похоже, используете HTTP, а не FTP), но, возможно, стоит проверить.

В противном случае вам придется сравнить исходную DLL, скомпилированную Eclipse, с DLL, которую вы скачали с вашего веб-сервера, и опубликовать различия здесь для дальнейшего анализа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .