Как исправить сторонние библиотеки, в которых отсутствует необходимая библиотека времени выполнения C? - PullRequest
0 голосов
/ 10 августа 2010

Я пишу установщик NSIS для проекта, для которого требуется пакет PyOpenGL, однако установка этого пакета завершается неудачно, потому что моя система не содержит mscvr71.dll (библиотека времени выполнения VS C).Согласно KB326922 , эта библиотека должна была быть упакована с PyOpenGL.

Мой вопрос: каков самый безопасный способ исправить это, чтобы я мог установить dep PyOpenGL в моей программе установки?Я, конечно, не хочу, чтобы во время установки файл перетаскивался в system32, и я не знаю ни одного обновления, которое включает этот файл (кроме самого VS).

РЕДАКТИРОВАТЬ:

  • Я не могу легко переупаковать PyOpenGL, чтобы включить недостающую DLL.У меня не установлена ​​VS, и я не уверен, как пересобрать пакет и установщик.

Ответы [ 3 ]

1 голос
/ 10 августа 2010

Вы можете поместить библиотеку в тот же каталог, что и установщик для PyOpenGL, который находится первым в пути поиска DLL.mscvr71.dll входит в состав других приложений, таких как Java JRE, поэтому вы можете иметь безопасную копию для использования в каталоге Program Files (не используйте dll из ненадежных источников).

1 голос
/ 11 августа 2010

См. Учебник по py2exe, который я дополнил в прошлом году, чтобы точно описать, какая версия каких DLL-файлов вам нужна для разных версий Python, где их получить и как их включить (особенно для сложных новых версий, которыетребовать файлы манифеста и т. п.):

http://www.py2exe.org/index.cgi/Tutorial#Step5

1 голос
/ 10 августа 2010

Предполагая, что в ваших ссылках есть файл mscvr71.dll, щелкните правой кнопкой мыши файл mscvr71.dll, выберите Свойства и измените свойство Копировать локальный на True.

...