2012-04-03 12 views
5

私はコード化したPythonアプリケーションからインストーラを作成しようとしています。私はシンプルなsetup.pyファイルを書いて、.msiファイルを生成しますが、デフォルトのインストールパスを指定する方法はわかりません。デフォルトの "C:\ Program Files"ディレクトリにインストールする必要はありません。助けて?cx_freezeとdistutilsにmsiのデフォルトのインストールパスを指定する方法を教えてください。

+0

だから私は、私は「を追加することができました - Python setup.py bdist_msi --initial-target-dir'という行に-initial-target-dirフラグを設定していますが、setup.pyファイルでそれを実行したいと考えていました。 – Cesar

答えて

2

Distutilsは、インストーラの作成に関しては、機能が限られています。代わりにNSISを使用することをお勧めします。非常にシンプルで、distutilsよりも多くをカスタマイズすることができます。

他の方法は、手動で(setup関数を呼び出す前)setup.pyに引数リストに--initial-対象-dirを追加するには、次のようになります。

if 'bdist_msi' in sys.argv: 
    sys.argv += ['--initial-target-dir', 'c:\default\path'] 
+0

これは、私がサイトを正しく読んでいればNSISがサポートしていないPython 3との互換性が必要であるということでした。これを以前に言及しなかったことに対する謝罪。 – Cesar

+0

NSISはPythonに特有のものではなく、Pythonに依存していないので、Pythonのバージョンは問題ではありません。あなたがそれをやることができる別の方法もあります。私はその答えを更新しました。 – aquavitae

+0

ありがとう!それは私たちのために完璧に動作するはずです! – Cesar

関連する問題