cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Streamlet
Level 5

The rebarbative InstallValidate action

The situation is I want to install a Windows Service. This service will be running until it is stopped by others. I totally use options provided by InstallShield UI, with no script written.

There is no problem during installation or uninstallation, but it display FilesInUse dialog when (major) upgrading (in InstallValidate action). This dialog is not necessary at all since the service will be stopped soon (in StopServices action). (And why doesn't it display the dialog during unstallation but only upgrading?)

Is there any method to prevent the displaying of this dialog? Thanks in advance.
Labels (1)
0 Kudos
(2) Replies
shmooerific
Level 4

Hi Streamlet,

We have the same problem. We use the Service Control Table to stop and restart our service during installation. We get conflict warnings for upgrade in spite of this.

As far as I can tell, it seems that InstallShield detects the "conflict" during InstallValidate (without taking the scheduled StopServices action into account), but does not perform the actual stop until StopServices. Furthermore, InstallShield won't allow the StopServices action to be scheduled earlier than InstallValidate. 😞

I would have thought that stopping and restarting a service you are about to upgrade would be one of the primary use cases for the Service Control Table, so I am surprised to find this problem.

The most reasonable solution I have been able to think of so far is to write my own custom action to stop the service, so that it can be scheduled earlier than InstallValidate. This seems like a waste, since the Service Control Table is so appealing.

Are we doing something wrong here? Does anyone else know if there is a better way to avoid this perceived conflict during upgrade?
0 Kudos