Как определить библиотеки Windows, необходимые для конкретного вызова API Win32? - PullRequest
0 голосов
/ 17 февраля 2012

Я использую несколько модулей Windows API, таких как win32wnet, win32file, win32con и другие, но только несколько методов из них.

Я упаковываю свое приложение с py2exe (bundle_files)== 3) и это будет хитом, если они работают на других платформах Windows.

Я бы хотел: 1) упаковать все необходимые и только соответствующие библиотеки.Я не хочу полагаться на то, что уже предполагается установить в ОС, если это вообще возможно.

Или: 2) Я хотел бы написать манифесты для подключения моего приложения к соответствующим версиям существующих библиотек DLL.,(если упаковка dll недопустима)

ошибки, предоставляемые python во время выполнения, расплывчаты:

ImportError: DLL load failed: The specified procedure could not be found.

документы (например: help(win32wnet)), похоже, не слишкомиспользовать.

Как определить, какие библиотеки Windows необходимы для моего приложения?

Ответы [ 2 ]

5 голосов
/ 17 февраля 2012

Я думаю, вы, возможно, обнаружите, что поставка ядра Windows как части вашего приложения не разрешена Microsoft.

Вы должны написать свое программное обеспечение для работы с тем, что доступно на машине, если это не что-то вроде comctrls32, который имеет несколько версий.

1 голос
/ 17 февраля 2012

Используйте средство обхода зависимостей для .pyd (в данном случае win32wnet), чтобы определить, не нарушены ли какие-либо зависимости .dll.Затем либо 1) включите в пакет манифест (если вы знаете, где находятся нативные библиотеки), либо 2) включите DLL в пакет (если это разрешено MS)

...