2011-06-22 10 views
0

私は多くの依存関係がプリインストールされたPython環境を構築するデプロイメントツールを開発しています。 (:\ Python24場所定期Cで)このコマンドラインはにしようとするのPythonのバージョンがすでにシステムにインストールされている場合はしかし既にPythonがインストールされているコンピュータに追加のPython環境を非インタラクティブにインストールする

msiexec.exe /i python_installer\python-2.4.4.msi TARGETDIR=c:\temp\install\fooX 

According to the documentation on Python's web-site私はこのような何かを行うことができるはず既存のインストールを修復します。 TARGETDIRに新しいインストールを作成することはありません。

誰が私には、以下を達成するのに役立ちます追加のコマンドライン引数を知っています:

  • 私はインストールが完了するまで、インストールをブロックします。そうすれば、現在のプロセスが終了した後、私の環境構築の次のプロセスを開始することができます。
  • 有効なPythonインストールが他の場所に存在するかどうかにかかわらず、インストールが常にTARGETDIRにインストールされます。

参考までに、私はWindows XP 32bit上でPython 2.4.4を使用しています。

UPDATE1:私たちは "問題をインストールする"という問題を解決しました。私は、完了するまでプログラムをブロックする方法が必要です。私が/ qnを実行すると、プロセスはバックグラウンドプロセスを生成し、即座に終了します。私はいつも非常に多くのWindowsツールがこのように動作する理由を疑問に思っています。コマンドラインスクリプトは不可能です。

答えて

2

代わり/iフラグの/aを試みることができる:

msiexecのヘルプから:考慮すべき

/a <Product.msi> 
    Administrative install - Installs a product on the network 

別のオプションは/qnです:

/q[n|b|r|f] 
    Sets user interface level 
    n - No UI 

あなたがヘルプウィンドウに取得することができますパラメーターなしでmsiexecのみを実行して、msiexecを実行します。

+0

/aは、有効なPythonインストールが存在するかどうかにかかわらず、isntallingの問題を解決します。インストールが完了するまで、プロセスを強制的にブロックする方法が必要です。 –

+1

インストールが完了していなくても、msiexec instanstlyはプロンプトに戻ります。 – Jacob

+0

私はプロジェクトのジップを使用して不正行為をするかもしれないと思う。ウィンドウでのスクリプト作成は苦痛です。 –

関連する問題