views:

25

answers:

0

I'm looking to implement a setup package for my multi-project solution that installs a Windows Service as well as a Winforms application. Both the service and the application have an ability to update themselves via a custom web-based utility that I wrote. So basically, the Windows service updates its own DLL's on a regular basis if it sees an upgrade on the web server. Winforms application updates itself if it sees an upgrade on the webserver upon launch. It does not use a standard Installer upgrade process but basically replaces .DLL's in place before they get consumed.

I understand how to make Windows to NOT repair my installation (using NOT REINSTALL flag) if I manually upgrade a few DLL's from the project. However, if I enable certain files to not be repaired, I run into a problem with them not being uninstalled or upgraded when user manually upgrades or repairs his installation.

So, what I need is this:

1) Windows to not try to repair my manually upgraded .DLL's automatically w/o explicit user request 2) Windows to UNINSTALL everything including the self-upgraded .DLL's - when user chooses to uninstall 3) Windows to Repair everything if user manually chooses to Repair installation

Is this possible? Is my only choice to implement custom actions that manually clean up .DLL's during uninstall?

Thank you