私が作成したサービスを (Domainadmin として) インストールし、完了後にサービスを開始する WiX インストーラーがあります。Windows XP と Windows 7 で実行する必要があります。両方のオペレーティング システムで問題なく動作しました。
次に、サービス自体にいくつかの変更を加える必要がありました。そのため、変更を加え、インストーラーのバージョン番号を増やしてサービスを更新し、サービスとそのインストーラーを再コンパイルしました。インストーラーに他の変更を加えていません。
インストーラーは Windows 7 でも完全に機能しますが、Windows XP では機能しません。Windows XP では、どういうわけか動かなくなります。インストールの進行状況バーがいっぱいになりません。キャンセル ボタンをクリックすることはできません (クリックすることはできますが、ウィンドウにキャンセルと表示され、何も起こりません)。タスクマネージャーによると、プログラムは無反応ではなく、問題なくウィンドウを移動できます。
サービスのインストール フォルダーを調べて、何らかのアクションが実行されているかどうかを確認しようとしましたが、エクスプローラーを開くとフリーズします。サービスが既にサービスに登録されているかどうかも確認しようとしましたが、サービスを開くとコンピューター管理もフリーズします。エラーログに生成されるエラーはありません。CPU と RAM の使用率はまったく正常です。
何が起こったのか、またはサービス自体に変更を加えると、XP のインストーラーがどのように壊れたのか、誰にもわかりませんか? ご助力ありがとうございます。
2013 年 1 月 7 日編集:
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("de-DE");
サービスのメイン メソッドと、このサービスによって開始されたすべてのスレッドにのみ追加しました。それだけです。
クリーン インストールまたはアップグレードを実行しても違いはありません。
サービスを強制終了して (強制的にシャットダウンを押すと OS 全体がフリーズするため) コンピューターを再起動すると、システム サービスをインストールするのに十分な権限がないことを示すエラーが表示されてインストーラーが終了することがわかりました。私は管理者グループに所属しています。とにかく、インストーラーは私のアカウントをインストールに使用すべきではありません。この後、インストーラーは追加したファイルを削除してアクションをキャンセルします。コンピューターをもう一度再起動してサービスをインストールしようとすると、説明どおりにスタックします (最初の試行でエラーが発生するのとまったく同じ手順で [Daniel が推奨するように、ログを有効にしてインストーラーを実行していることに気付きました])
さらに、インストーラーはエラー後のアクションをキャンセルするが、サービスのレジストリ エントリを削除するため、サービスからサービスを削除しないことがわかりました。さて、サービスはなくなりました。リフレッシュは期待どおりに機能しませんでした。
以前は動作していたバージョンのインストーラーとサービスがまったく同じ動作をするようになったため、問題は私の変更の結果ではないようです。