2

Python 2.7 を組み込んだ Windows アプリケーションを配布しています (手法: python27.dll + 'Python27' ディレクトリと DLL および Lib フォルダーを .exe と共にインクルードします)。また、C 拡張機能 (基本的に DLL である .pyd ファイル) を使用するカスタム Python パッケージも含めています。

msvcr90.dll のバージョン 9.0.21022.8 と関連するマニフェストが必要であることは承知しています。msvcr90.dll + マニフェストを .exe ファイルと一緒に置くことができ、問題なく動作しています。しかし、カスタム Python パッケージを使用するには、msvcr90.dll + マニフェストをパッケージの .pyd ファイルと同じレベルに含める必要があることがわかりました (存在しない場合、PyImport_ImportModule 中にアプリケーションがクラッシュします)。.pyds がツリーのさらに上にある msvcr90.dll を「見る」ことができない理由がわかりません。

宛先マシンで MS Visual C 再頒布可能パッケージを実行することで (おそらく) これを回避できることを認識しています...これにより、基本的に MSVCR DLL + マニフェストがインストールされるため、システム全体で使用できるようになります。しかし、ユーザーにそれを実行するように要求したくはありません。また、正しい場所にインストールしてバージョン管理などを自分で処理しようとして台無しにしたくもありません。

4

0 に答える 0