2010-09-23 1 views
1

У меня есть python как встроенная среда сценариев в моем приложении. Я поставляю биты python (python26.dll, DLLs & Lib папки) с моим приложением. Все это, чтобы не просить пользователей установить python (вы знаете, как это происходит в крупных корпорациях).установка pywin32 в неволе (не удалось установить py * .dll в каталог system32)

Все работает хорошо, кроме pywin32. Он устанавливает pythoncom26.dll и pywintypes26.dll в каталог system32. Я хочу сохранить эти dll в моем каталоге Python. Один из вариантов - добавить мой каталог Python в переменную env PATH. Но хотелось бы избежать этого по очевидным причинам (проблемы с приоритетами поиска в Windows DLL).

Есть ли способ сказать Windows (API Windows тоже хорошо), чтобы посмотреть на мои каталоги для загрузки этих pywin32 dll? Из того, что я понимаю, эти DLL вызываются Windows COM.

Спасибо.

Редактировать 1: Обратите внимание, что python развернут, встроенный в мое приложение.

+0

Почему бы не заморозить (http://cx-freeze.sourceforge.net/) ваш скрипт в исполняемый файл, тем самым минуя все взломы dll, которые вам кажутся вам нужными? – katrielalex

+0

№. Мое приложение не является скриптом python. Это приложение для графического интерфейса с собственными exe & dll. Python позволяет настраивать и действует как клей между этим приложением C++ и excel через pywin32. – sambha

+0

Почему эта проблема ... Не можете ли вы написать все скрипты Python, которые вам нужны в качестве клея заранее, 'cx_freeze' все они для распространения и вызвать результирующие исполняемые файлы по мере необходимости? Например, предположим, что у вас есть сценарий Python, который сохраняет текущую 'foo' в электронную таблицу, называемую say' spreadsheeter.py'. Затем заморозите это в 'spreadsheeter.exe' и вызовите *, который *, когда вы хотите сохранить в Excel. – katrielalex

ответ

0

Я ранее использовал py2exe, чтобы заморозить приложение и все библиотеки DLL. Затем создайте установщик Innosetup. Работайте как шарм.

+0

№ Мое приложение не скрипты python, но exe (приложение gui) – sambha

+0

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