问题
I need to create a few Windows Services and obviously I would like to package them in a nice installer.
Since I was unfamiliar with Service creation/installation I basically used code from the following example:
Advanced Service Installation
I did not change ProjectInstaller or InstallActions and basically just plugged my own services (File monitoring/conversion).
Building and compiling the code works A-OK:
- The Installer works, the services are installed (but NOT started as might be expected)
- My Services themselves all work
- The Uninstall FAILS, stating the error from the title
What is very strange:
If, after the failed uninstall, I run "Repair" and subsequently manually remove *.Installstate from the installation folder, the uninstaller magically works.
This is driving me nuts.
I guess I could just document this quirk for the potential users of my service but I don't like not knowing what is really going on.
Debugging this sort of thing is really hard (wouldn't even know how) and documentation is very scarce (non-existing even).
Anybody with some tips?
回答1:
I solved this problem by doing this:
- Go to the folder installation
- Edit the file xxxxxxx.InstallState with notepad or an XML editor (where xxxxx is the name of your service)
- Go to
ArrayOfKeyValueOfanyTypeanyType
node and then toKeys
node - Delete
anyType
child - Go to the Values node and delete all
anyType
child - Save the file and try to uninstall
This works for me. regards
回答2:
I got the same problem and I've managed to fix it by adding proper conditions to Custom Actions. In my case I've added Not Installed to my Windows Service Installer at the Install and Uninstall phase. There were no errors after that. Hope this will help! Find more information on this issues here.
回答3:
I Know this is an old post but I fixed my problem by calling the Installer class base prior to performing my custom actions, I accidentally added my code by the base calls first.
回答4:
Go to control panel and first repair your setup. After the successful repair you will be able to uninstall.
回答5:
I had a similar issue where a Windows Installer Package (.msi) was not uninstalling as expected. The workaround for me was to use the command line to uninstall using InstallUtil.exe. Then, reinstall the service using InstallUtil.exe. After, I was finally able to use an old msi to uninstall. After I uninstalled using the old MSI, I was able to use a NEW msi to install and everything worked as desired.
来源:https://stackoverflow.com/questions/6618634/msi-uninstall-issue-error-1001-the-saved-state-dictionary-contains-inconsist