2012-03-05 56 views
2

我正在用C#編寫一個小服務,我已經安裝了它並卸載了它幾次,突然之間它不會再次安裝。我試圖卸載它,它說沒有什麼可卸載,但是當我重新安裝它,我得到以下信息:Windows服務將不會安裝:指定的服務已經存在

錯誤1001:指定的服務已經存在

現在的我,已經試過了以下解決方案:

  • 關閉服務管理器(作爲一個開放的服務管理器可容納 手柄的話)

  • 試圖與SC查詢發現它並使用SC DELETE刪除 (根據 Service already exists (when it clearly doesn't)

  • 試圖刪除它在註冊表編輯器(不存在那裏)

  • 我已經正確添加該項目輸出到自定義操作(安裝, 提交,回滾,卸載)

  • 重新啓動計算機(!)

我正在用盡想法。絕對沒有證據證明該服務安裝在我的電腦上,即使成千上萬的開發者似乎也遇到了這個問題(我以前甚至已經擁有過它)我從來沒有聽說過沒有任何標準解決方案的情況實際上有效。

我可能錯過了什麼?

編輯

我已經進入註冊表編輯器,我試圖再次找到我的服務,但這次我導出HKEY_LOCAL_MACHINE \系統\ CurrentControlSet \服務\節和搜查。我能找到下我的垃圾堆服務:

HKEY_LOCAL_MACHINE \系統\ CurrentControlSet \服務\爲MyService

但後來我去那裏在註冊表編輯器來看,它不存在。有什麼建議麼?我是怎麼搞砸的:?

重新編輯

否認編輯,該服務只顯示了在註冊表編輯器,同時安裝我顯示錯誤消息,但是這事件離奇,服務安裝,那麼破裂和回退...

+0

我在XP上曾經這樣做過幾次,但Win7已經解決了這個問題。在這些情況下,它是EventLog-Viewer或服務管理器。並且重新啓動*總是*清除問題。我只能說,卸載舊的.exe可能很重要,但除了嘗試使用reg-cleaner工具外,我不知道任何可行的解決方案。 – Carsten 2012-03-05 19:12:33

+0

嗯,我使用Vista(自win95以來最好的操作系統!),我不知道爲什麼重新啓動不會解決它,因爲它不在註冊表中... – Maffelu 2012-03-05 19:13:44

+0

@CarstenKönig - 我剛剛導出我的整個註冊表,並嘗試找到它的'我的服務',沒有發現任何東西,所以它不在註冊表中... – Maffelu 2012-03-06 06:23:59

回答

1

我會建議尋找和Sysinternals進程監視器活動,並向後嘗試找到錯誤報告之前發生的事情。例如,您可能會看到某個註冊表項已被訪問。

+0

我確實使用在http://technet.microsoft.com/en-us/sysinternals/bb896645找到的進程監視器,它是相當的有用的,我可以按照安裝過程,看到它確實安裝了我的服務,但它不顯示在註冊表中(請參閱我的更新問題)... – Maffelu 2012-03-05 19:38:36

2

作爲臨時解決方案,您可以稍微更改服務的名稱(例如,從service_name添加或刪除一個或兩個字符),但保持display_name相同。

+2

如果只有我可以,我會低估這一點。該解決方案堵塞了您的系統。我不想通過更改名稱來克隆我的服務。 – Maffelu 2012-05-01 18:49:38

+2

這就是爲什麼它說我的朋友「時間解決方案」。我很高興你不能倒下。 – 2012-05-01 19:55:22

+0

嘿,我現在可以但我不會。你是對的,這將是一個有效的時間解決方案,它當然會由你自己來清理混亂後:) – Maffelu 2016-01-07 07:49:43

0

我有類似的問題(服務處於停止狀態,然後被過度的磁盤空間整理器刪除)並解決它我複製我的新服務到「可執行文件的路徑」中標記的相同位置框,然後啓動服務。

目前沒有問題。