10

私は多くのバージョンの 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経由で同上。

4

2 に答える 2

3

この特定のケースでは、非常に奇妙なサーバー権限の状態です

詳しくは

私のサーバー アカウントは管理者ではありませんが、この 2008 R2 ボックスのローカル管理者とドメイン管理者 の両方のメンバーです。

ウォークスルーの例を作成して試すなど、多くのアイデアを試しました。運がない。

boxe の管理者は installutil.exe を使用してサービスをインストールできたので、installutil.exe を試してみましたが、管理者の資格情報を使用した場合にのみ機能します。

そのため、権利の問題ではないかと疑ったので、資格情報を使用して、チュートリアルの例を H:\ ドライブにインストールしてみました。成功。次に、面倒な Windows サービスを別の場所にある C: にインストールしてみました。再び、成功。

この問題で最も奇妙なのは、何回も問題がなかったのに、突然問題が発生して私の開発努力が妨げられたことです。

Windows サービスがインストールされる兆候は、インストールの開始直後に続行の許可を求めるダイアログが表示される場合です。成功の可能性を示すもう 1 つの手がかりは、コントロール パネルから以前のバージョンを正常にアンインストールできることです。

これを手伝ってくれる皆さんの努力に感謝します。ありがとうございました。

于 2011-03-24T11:05:53.733 に答える
2

Win2k3 と Win2k8 のサード パーティの MSI だけでなく、自分の MSI (サービスだけでなく) でも同様の経験があります。オペレーティングシステムを「新しく」再インストールしないと、私は(これまでに)その根底にたどり着きませんでした。

あなたと同じように、私も OS の内部 (レジストリ、ファイル システム、システムの復元) で何か (組み合わせまたはすべて) が失われていると推測しています。

これはあなたが聞きたいことではないことはわかっていますが、(可能な場合)OSのクリーンインストールがうまくいくかもしれません.

于 2011-03-21T23:34:08.217 に答える