我有一個程序在安裝時啓動Windows服務,並在卸載時刪除Windows服務。但是,在我偶然修改了安裝程序(我的錯!)後,它拒絕卸載。 https://support.microsoft.com/en-us/mats/program_install_and_uninstall微軟修復註冊表問題
利用這一點,我設法最後取出程序本身:我不能,因爲它不停地拋出一個錯誤2715,我發現在這篇文章中有一個皿程序,從程序和功能,甚至將其刪除。但是,現在,當我嘗試再次安裝和卸載它(測試我的更改)時,附加的Windows服務不會被刪除。事實上,它繼續運行。我檢查了註冊表,並確實在卸載後服務的密鑰仍然存在。我需要手動停止它並做一個sc delete來擺脫它。有關我如何解決這個問題的任何想法?
編輯:我能夠在另一臺計算機上覆制該問題。我所做的是,我在那裏安裝程序,然後使用Fix It工具將其刪除。完成此操作後,我可以輕鬆地複製該問題,因爲卸載後該服務永遠不會被刪除。它在此之前正常工作。
雖然MSI工作正常。我已經在另外兩臺電腦上試過了,它工作正常。我所做的是我重建了我在卸載前修改的安裝程序。 – JasonY
如果您有時會遇到2715錯誤,MSI實際上無法正常工作!這個問題似乎與運行你的程序有關,這是不必要的。也許是時間問題,誰知道?同樣,如果沒有詳細的卸載日誌和其他信息,這是另一個猜測,但Windows安裝程序將啓動和停止服務,而無需編寫代碼,因此絕大多數安裝開發人員只需告訴MSI啓動/停止/刪除任何服務。 – PhilDW
當我嘗試使用MSI進行卸載時,會彈出一個要求停止服務的提示並重試。我需要將其自動化,所以我在MSI嘗試驗證它之前插入了一個自定義操作。我再次強調MSI的工作原理。我現在已經在2臺VM和3臺其他開發PC上進行了測試。我也設法複製這個問題,如果我要安裝該程序並使用Microsoft FixIt卸載它(就好像它有問題一樣),它會導致這個問題。這是在另一臺PC上完成的,我所做的只是安裝它,然後使用Microsoft FixIt進行卸載。 – JasonY