How does CPM know an install has completed, like one that needs a reboot?

How does CPM know an install has completed, like one that requires a reboot to finish?

Comodo Programs Manager
Windows XP Pro SP-3

When I start an installation, there’s no popup from CPM telling me that it is now monitoring that installation. Only when I complete the installation does CPM pop up an alert telling me that it monitored that installation. I don’t see how to tell CPM when to stop monitoring. Even after the installer has exited, I might want to run the program to monitor what config file or registry changes it makes in addition to just the install-time requirements for the program. If I don’t capture these run-time changes then a CPM-managed uninstall won’t include those run-time changes. In other words, I’ll end up with remnants on my host from files and entries made on an initial use of the program.

Also, some installs require a reboot. Maybe they need to delete or replace in-use files and can only do that when Windows is first loading (e.g., using the PendingRename registry key). Maybe they have to install and start a service on the reboot. For whatever reason, the install isn’t over simply because the host got shutdown or because the installer file (setup.exe) happened to unload from memory.

After I start an install, when CPM pops up its alert that it monitored an install, can I tell it “No, there’s still more to record”? The popup might appear before I’ve rebooted the host to complete the installation. I might want to do an initial load of the program and immediately exit to record what file and registry changes it made on its first use. For now, an install that requires a reboot is my main concern so CPM actually does monitor the entire installation. I don’t see how I can tell CPM when the install is actually completed.

As a test, and with CPM already installed and its service started, I downloaded and installed Microsoft’s Network Monitor 3.2 (http://www.microsoft.com/download/en/details.aspx?id=4865, x86/32-bit version). I did NOT right-click on the setup file to start CPM monitoring the install. I wanted to see what happened using its auto-detect so I just ran the installer. Before the installer even exited, CPM pops up an alert that it has monitored the installation. The install wasn’t over yet! That install is followed by another install (something called “parsers”). So one installer started another installer. Again, before that 2nd installer actually exits (and I see there is still some hard disk activity), CPM pops up another alert that it recorded the 2nd install. In fact, nmbuild.exe was running for quite a while at 98% CPU after CPM said it was done monitoring that install. So, great, now I have 2 SEPARATE installs recorded in CPM instead of just the 1 that I would want to use to uninstall the whole thing. This particular test didn’t require a reboot to complete the install but it had multiple installers for the entire product. Yes, the Add/Remove Programs applet is expected to have 2 entries but I’d like them both to be encompassed by 1 entry in CPM because if I uninstall 1 then the other has to go, too, and it’s possible the uninstalls need to be performed in the reverse order of the installs.

Some uninstalls require a reboot to complete. CPM will do its reboot-to-clean procedure for in-use files but that’s not the same thing as letting the program’s own installer complete the uninstall after a required reboot. I’m pretty sure video drivers all require a reboot to complete and a reboot to uninstall. If the user cannot tell CPM when to start monitoring for host changes and when to stop recording those changes, how is it going to record ALL changes?

Hello,

The goal of CPM is to reduce the user involvement in the monitoring process and make it as simple to use as possible, while maintaining a high rate of installer recognition and system performance.

Here are a few things that may help you understand the way CPM handles installation monitoring:

  • Once the installer has been launched and identified, CPM will start monitoring all the processes it uses during the installation and store this information.
  • Even after the installation (when there is no installation process in memory), CPM will monitor the changes made by the application processes started by the user (running the executable application for example).
  • The message shown is just to notify the user that the monitoring process for that application took place and may continue at present.
  • CPM will continue to monitor those processes until the system is restarted.

If an application is installed along with other software, CPM will monitor them as “Dependent applications” in most cases. This detection method will determine CPM to ask for a complete removal of the entire package when any of its components are uninstalled.
While some applications require a system restart, the general flow during the installation is to copy all the files and request a reboot to start a service or a driver, and not to actually make any more changes to the system.

Thank you for your feedback.

Twould be nice to see a popup telling the user that CPM has started the recording process. When the install is started, the user doesn’t really know whether or not CPM is recording it.

- Even after the installation (when there is no installation process in memory), CPM will monitor the changes made by the application processes started by the user (running the executable application for example).
Hopefully that doesn't include documents produced by the program but does record changes to config files and registry entries. Maybe I should pay closer attention to the Files in the following listing in CPM after the standard install completes and CPM readies for deleting remnant file and registry entries.
- The message shown is just to notify the user that the monitoring process for that application took place and may continue at present. - CPM will continue to monitor those processes until the system is restarted.
The impression to the user is that this the end of CPM recording the installation when they see the CPM popup.
If an application is installed along with other software, CPM will monitor them as "Dependent applications" in most cases. This detection method will determine CPM to ask for a complete removal of the entire package when any of its components are uninstalled.
In the test case, 2 separate packages were listed in CPM. I uninstalled the 2nd one using CPM (since the normal procedure is to uninstall in reverse order for multiple-packaged installs) but CPM did not offer to follow with an install of the 1st one. I had to install each separately. If CPM is chaining multiple installations together so they are dependent, does CPM require that I first uninstall the 1st one in the chain instead of the last one? I tried that by doing the install again, CPM popped up 2 separate alerts, one for each install, and I uninstalled the 1st one using CPM. Nope, the 2nd one was still around and I had to uninstall it separately. I could see nor exercise one dependent uninstallation of both packages. I had to uninstall each one separately.
While some applications require a system restart, the general flow during the installation is to copy all the files and request a reboot to start a service or a driver, and not to actually make any more changes to the system.
I've seen many installs, especially an upgrade, that has to delete files that are in use, so they use the PendingFileRenameOperations registry key. This registry key isn't just about deleting files. It is used for rename, move, and delete of files or folders. That's just one example as I'm sure there are other reasons why an installation requires a reboot to complete. Drivers, as you mentioned, is another reason. CPM is popping up its alert before the reboot. Is CPM still monitoring that install after the reboot (as hinted by the claim CPM keeps monitoring changes made by the app's processes after this alert)?