2011-01-28 26 views
7

Windowsサービスのインストールに問題があります。何度も何度も何も問題なくインストールしてアンインストールしましたが(installutil ..... installutil/u)、何か問題がありました。インストールを試みると、以下のエラーメッセージが表示されます。私はコンピュータ管理コンソールをチェックしましたが、サービスCIMediatorはサービスのリストに表示されません。サービスを削除するにはどうすればいいですか?Windowsサービスのインストールに関する問題

System.ArgumentException:ソースCIMediatorがローカルコンピュータに既に存在します。

答えて

0

キーがレジストリにまだ残っているかどうかを確認してください。

HKLM \システム\ CURRENTCONTROLSET \ Servicesの\ CIMediator(おそらく、キーが異なって定義されていない限り)

それがある場合は、それを削除し、その後.regファイルにキーをエクスポートします。

14

多くのアンインストール/インストール/再起動後も同じ問題が解決されました。 私は([System.Configuration.Install.Installer] [1]由来)サービスのインストーラの私の独自の実装を持っている、と私は、次のようなアプリケーションのEventLogを指定している:

public ProjectInstaller() 
    { 
     InitializeComponent(); 

     EventLogInstaller installer = FindInstaller(this.Installers); 
     if (installer != null) 
     { 
      installer.Log = "MyService";     
     } 
    }  

あなたは同じ機能が実装されている場合があります以下の方法([MSDN:EventLog.CreateEventSource方法] [2]):私の場合は

if(!EventLog.SourceExists("MySource")) 
{ 
    EventLog.CreateEventSource("MySource", "MyNewLog"); 
} 

、インストールEventLogのいくつかの中にsuccessfuly作成されましたが、アンインストール中に何かが(間違っていた、とのEventLogが削除されませんでしたEventViewerに表示されていませんでしたが、 eレジストリ)。 "ローカルコンピュータにMyServiceが既に存在します"というエラーは、サービス自体ではなく、明らかにEventLogに関するエラーでした。

あなたは、次の操作を行うために試みることができる:

は、[スタート]メニューに移動し、 regeditを入力します。レジストリエディタが開きます。それに注意してください。何かをする前に、レジストリ全体をバックアップすること(ファイル - >エクスポート)、または編集/削除しようとしているキーだけをバックアップすることを常にお勧めします。 編集 - >検索を開き、CIMediatorとタイプし、キーだけをチェックしたままにします。あなたのサービス名は、次の場所

HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001の\サービス\イベントログ\ CIMediator、
HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001の\サービス\ CIMediator、
HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSETに、キーを複数回のように表示されます。 \サービス\イベントログ\ CIMediator、
ます。HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \サービスCIMediator

は、これらのキーを削除してください\。それは私のために働いた。

1 2

+0

完璧なソリューションです。私はレジストリで生成されたキーを見つけました。私はProject Binフォルダからインストールしていないと確信しています。それはどのようにインストールせずにレジストリキーを作成したのだろうか?ただし、既存のキーを削除しても問題は解決しました。ありがとうございました。 –