2012-02-03 8 views
4

サーバーに既にインストールされているWindowsサービスがあり、新しいバージョンの実行可能ファイルとリンクされたアセンブリがあります。私は、新しいバージョンのインストールに使用通常の手順は以下のとおりです。WindowsサービスをXCOPY展開できますか?

  1. ストップサービス
  2. アンインストールInstallUtil /u
  3. は新しいものを使用してサービスの実行可能ファイルとリンクアセンブリを上書き使用してサービス
  4. サービスをインストールします。 InstallUtil
  5. を使用すると、I「があれば、私は思ったんだけどサービス

を開始

  • あまりにもやっている?

    1. ストップサービス
    2. を新しいもの

    私は考えていない

  • スタートサービスとサービスの実行可能ファイルとリンクアセンブリを上書き:ちょうど次にやって持つ任意の問題がありますアンインストール/インストールは必要ですが、正式な確認は見つかりませんでした。

  • +2

    ほとんどの*明らかな問題は、システムを停止させることです。その理由から、私は 'AppDomain'を使う傾向があります。サービスは、プロセススピンアップとアプリドメイン管理だけを処理するexeを使って自己更新(* actual *システムを書き込み可能な場所で実行)することができます。更新するためのダウンタイムゼロゼロ –

    +2

    @MarcGravellそれは優れたアイデアであり、かなり再利用可能です。私はAppDomainsでプログラミングをあまり行っていないので、スケルトンやテンプレート、ブログ投稿があります。 –

    答えて

    4

    サービスが既にインストールされている場合は、問題なく新しい実行可能ファイルとアセンブリをxcopyで展開できます。

    すべてinstallutilは、サービス実行可能ファイルを指す適切なレジストリエントリを作成しています。これらのエントリを作成するために以前にinstallutilを実行していた場合は、実行可能ファイルを変更するときにこの手順を繰り返す必要はありません。

    +0

    あなたの答えは少し誤解を招く。または、むしろ、あなたはタイトルの質問に答えています(「私はXCOPYできますか?」)。しかし、彼が最後に質問するのは、「次のことをするだけで問題はありますか? :-) –

    +1

    フェアポイント:)それに応じて編集 – Cocowalla

    関連する問題