1

問題があります。プログラムにpy2exeを使用しましたが、コンピューターで動作しました。Inno Setupでパッケージ化しました(まだ私のコンピューターで動作します)が、別のコンピューターに送信すると、アプリケーションを実行しようとすると、「CreateProcessが失敗しました;コード14001」というエラーが発生しました。アプリは実行されません。(注:プログラムでwxPythonとマルチプロセッシングモジュールを使用しています。)少しグーグルで検索したところ、ユーザーはMS再配布可能なものをインストールする必要があることがわかりましたが、ユーザーの生活を複雑にしたくありません。解決策はありますか?

バージョン:

Python 2.6.2c1、py2exe 0.6.9、Windows XP Pro

4

4 に答える 4

3

インストールディレクトリに、msvcr90.dll、Microsoft.VC90.CRT.manifest、およびpython.exe.manifest([yourappname] .exe.manifestに名前が変更されました)を含める必要があります。「Justforme」オプションを指定してPythonをインストールした場合、これらのファイルはシステムのPython26ディレクトリにあります。

これを行うための手順は、ここにあります

メイン関数でもmultiprocessing.freeze_support()を呼び出すことを忘れないでください。そうしないと、新しいプロセスを開始するときに問題が発生します。

インストールパッケージにMSVCランタイムを含めることについて他の人が議論しましたが、上記のソリューションは、すべてのファイルを含む単一の.zipファイルのみを配布する場合に機能します。追加の複雑さを望まない場合に、個別のインストールパッケージを作成する必要がなくなります。

于 2009-06-26T13:56:26.357 に答える
1

InnoSetup セットアップ exe の一部として、その MS 再頒布可能物をインストールできるはずです。

于 2009-06-26T11:57:06.520 に答える
1

py2exe を実行するときは、完了時の最終メッセージをよく見てください。プログラムに必要であると言われているDLLのリストを提供しますが、py2exeは自動的にバンドルしません。

リスト内の多くは、どの Windows インストールでも確実に利用できますが、Inno Setup インストールに手動でバンドルする必要があるものもいくつかあります。一部は、Windows 2000 以前などの古い Windows インストールに展開する場合にのみ必要です。

于 2009-07-14T11:27:54.633 に答える
0

問題のランタイム DLL をアプリケーションと共に「プライベート アセンブリ」として出荷できます。これは単に、ランタイム DLL とそのマニフェストを含む特別な名前のディレクトリのコピーを実行可能ファイルと一緒に置くことを意味します。

この投稿に対する私の回答を参照してください。

于 2009-06-26T11:48:34.617 に答える