私は多くのバージョンの Windows サービスを作成し、Server 2008 R2 Enterprise を実行する 32 GB の 64 ビット システムにそれらをインストールしました。
このレシピを使用してサービスを作成します:
http://msdn.microsoft.com/en-us/zt39148a.aspx
「ウォークスルー: コンポーネント デザイナーでの Windows サービス アプリケーションの作成」
Win 7 ラップトップ ( c#、vs2010 SP1、.NET 4 ) で.msiと対応するsetup.exeを作成します。
通常の動作
ラップトップで Windows サービスをテストした後、.msi と setup.exe を win2008 R2 Enterprise サーバーのフォルダーにコピーします (リモート デスクトップ経由でコピー アンド ペーストを使用)。サーバーのコントロール パネルを使用してアンインストールし、.msi を右クリックして [インストール] を選択し、セットアップ ウィザードを実行します。問題ない。ほとんどの場合動作します。
異常な動作
インストールはおそらく 15 分以上実行されます。終わりません。最終的に、
「(?) インストーラーが応答しなくなりました」というダイアログが表示されます。
[再試行] または [キャンセル] のオプションがあります。
この時点で、プログレス バーは可能な限り短く、左端の「お待ちください...」の「P」の下にあります。
[再試行] をクリックしても解決しません。[再試行]をクリックしてから 30 分以上経ちましたが、プログレス バーは 1 ピクセルも進みません。
詳しくは
(a) サービスは別のサーバー (Win 2008 R2 Web エディション) に問題なくインストールされます。
(b) 前述のように、Windows サービスは、私の Win 7 開発およびテスト環境にインストールして適切に動作します。
歴史/推測
数週間前、win 2008 R2 Enterprise サーバーからサービスをインストールできませんでした。.msi がインストールされていると主張し、services.msc コンソールにもサービスが引き続き表示されていたにもかかわらず、コントロール パネル/アンインストールでそれを見つけることができませんでした。サービスを無効にしても解決しませんでした。そのため、コードを複製し、サービス名をわずかに変更して、問題なく実行されていたサービスを正常にインストールしました。
今日、同様のイベントが発生しました。唯一の違いは、コントロール パネルのアンインストールでそのサービスを確認できることです。アンインストールされないので、同じクローン作成のトリックを試みましたが、今回は失敗しました。
次のステップ: 上記のウォークスルーを使用して、何もしない Windows サービスを作成し、元の c# プロジェクト ファイルからクライアント クラスをインポートして、それを便利にしました。
ゼロから再構築されたWindows サービスは、私のラップトップでは設計どおりに動作しますが、R2 Enterprise サーバーへのインストールは拒否されます。
何か案は?
よろしくお願いします。
PS: これを投稿したのは、開発者が自分のコードをシステム管理者に引き渡す前に遭遇する可能性が高いためです。
ところで、関連するものは何も見つかりませんでした。Google経由で同上。