2011-12-29 19 views
8

Windowsサービスを作成して.pyスクリプトを開始しました。私はサービスを開始しようとすると、その後、私はpython.exeWindowsでpython .pyをサービスとして起動する

Windows Registry Editor Version 5.00 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Maraschino\Parameters] 
"AppDirectory"="C:\\Python27" 
"Application"="C:\\Python27\\python.exe C:\\HTPC\\Maraschino\\maraschino-cherrypy.py" 

を使用して開くことの.pyをリンクするために、レジストリキーを追加しました

sc create "Maraschino" binPath= "C:\HTPC\Maraschino\maraschino-cherrypy.py" DisplayName= "Maraschino" depend= "Tcpip" 

は、しかし、私はGoogleで検索エラー193 0xc1があることを明らかにし得ます私は開始しようとしている有効なexeではありません。私はそれが.exeではなく、.pyを知っていてpython.exeで開くようにリンクするとこれを修正する必要がありますが、私はエラーを出しています。 python.exeに

おかげ

+0

完了

が代わりにする.pycファイルを呼び出してみてくださいfile.regに割り当てられているものを、これまでに実行されます。 – Marcom

+0

@Marcomありがとう、しかし、それは動作しません。そのアプリケーションはすべてコンパイルされ、それを実行するmaraschino-cherrypy.pyはサービスを経由しないでダブルクリックすると動作します –

+0

これらはすべて重複しています:http://stackoverflow.com/search?q=python+windows+service –

答えて

17

あなたは、タスクのこの種のために専用のMicrosoftのツールですSRVANY.EXEを使用して、これを行うことができます。

まず、Windows Resource Kitをダウンロードしてインストールします。 注:Windowsのすべてのバージョンで動作するsrvany.exeのみが必要です。

WindowsリソースキットがCでインストールされたことを仮定:\プログラムファイル\ Windowsリソースキット\ラン:今すぐ

sc create "[YourService]" binPath= "C:\Program Files\Windows Resource Kits\srvany.exe" 

regeditをを実行します。レジストリエディタ]ダイアログで

は[のYourService]を選択して HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > [YourService]

を選択し、ツールバーから[編集]> [新規]> [キーを押してください。

タイプパラメータと入力してください。

ツールバーから、編集/新規/文字列値を選択します。

タイプアプリケーションと入力してください。

[アプリケーション]を右クリックし、[変更]を選択します。

C:\Python27\python.exe C:\[YourServicePath].py 

[OK]ボタンを押します。

ブーム!素敵な新しいサービスがあります。

+0

ありがとう、私は逃げることを望んでいた何もインストールせずにこれが動作します。ありがとう –

+0

あなたは実際に何かをインストールする必要はありません!単にsrvany.exeを入手してください(一度インストールして、それをつかむか、Googleに)。 それをあなたのスクリプトフォルダに投げ込み、それにbinPathを設定してください。 これはプロダクション環境で行うことです。 – Ohad

+0

srvany.exe - Windowsリソースキットを持っていない新しいPC用に、そこにインストールする方法? – YumYumYum

0

を使用するようにスクリプトをリンクする際に、誰もが私が間違っているかもしれないものに任意の洞察力を持っています私は、SCがどのように動作するかわからないが、私はそれはパラメータを渡すためにいくつかの方法でなければならないと思いますC:\ Python27 \ python.exe C:\ HTPC \ Maraschino \ maraschino-cherrypy.py "を登録しようとする可能性があります。

またpy2exeを試みることができる:)

0

@Ohadの更新。

  • をダウンロードしてインストールのWindowsリソースキット:まずSRVANY.EXEのは、すべてのマシン

    ステップ1に配備されます。

  • 私のボックスには、C:¥Program Files(x86)¥Windows Resource Kits¥Tools¥srvany.exeがあります。
  • 次にコマンドプロンプトを開き、

    SCが作成ヒット "[のYourService]" BINPATH = "C:\プログラムファイル(x86の)\ Windowsリソースキット\ツール\ SRVANY.EXE" [ "= =自動のDisplayNameを開始しますYourServiceモニタ]」

    [SC] CreateService SUCCESS

ステップ2:それには以下の内容と、ダブルクリックでfile.regを作る

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[YourService]\Parameters] 
"Application"="C:\\[YourService Executable].exe" 

ステップ3:今、サービスを開始し、それはあなたが

関連する問題