This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- How do I overwrite an old installers customActions with something from my new install
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 18, 2016
05:35 PM
How do I overwrite an old installers customActions with something from my new install
I am new to Install Shield and am trying to solve a problem I have been tasked with.
Basically our old install uses a customAction to call an user defined Install Shield function. That function then prompts the user if they want to unconfigure (Not remove) the product. If yes it launches an external binary with an unconfigure flag. Once unconfigured the installer then proceeds to remove the product.
Fast forward to today.
Now we have a new version of the product we want to roll out and I need to update the installer to handle what I am calling a migration. I essentially want the new installer to overwrite the old install files, or remove, and then lay down the new install files. What I am running into though is that I am not able to stop the old installer from first asking the end user if they want to unconfigure the product (The customAction is being triggered)
Is there anyway to just overwrite the old install, update the product version and then carry on as if the product is now being installed, without having to run the old installers uninstall? Or if I do have to run the old installers uninstall can it be overwritten with a newer uninstaller so the CustomAction isn't called?
Basically our old install uses a customAction to call an user defined Install Shield function. That function then prompts the user if they want to unconfigure (Not remove) the product. If yes it launches an external binary with an unconfigure flag. Once unconfigured the installer then proceeds to remove the product.
Fast forward to today.
Now we have a new version of the product we want to roll out and I need to update the installer to handle what I am calling a migration. I essentially want the new installer to overwrite the old install files, or remove, and then lay down the new install files. What I am running into though is that I am not able to stop the old installer from first asking the end user if they want to unconfigure the product (The customAction is being triggered)
Is there anyway to just overwrite the old install, update the product version and then carry on as if the product is now being installed, without having to run the old installers uninstall? Or if I do have to run the old installers uninstall can it be overwritten with a newer uninstaller so the CustomAction isn't called?
(5) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 19, 2016
09:44 AM
Do you have access to the code from the old installer? More than likely that prompt is triggered by some type of property value. For example if the old installer sees that the setup.exe is running in a mode of REMOVE=ALL then trigger this custom prompt. You would have to know what the old installer uses to trigger the CA in order to possibly pass a value to that property to force it to bypass the CA prompt.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 22, 2016
12:32 PM
PlinyElder wrote:
Do you have access to the code from the old installer? More than likely that prompt is triggered by some type of property value. For example if the old installer sees that the setup.exe is running in a mode of REMOVE=ALL then trigger this custom prompt. You would have to know what the old installer uses to trigger the CA in order to possibly pass a value to that property to force it to bypass the CA prompt.
Yes I have access to the old code. It seems like the CustomAction script is stored in the MSI database. Can the new installer set the REMOVE=ALL option prior to uninstalling the old installer? Where is the "REMOVE" variable stored?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 22, 2016
12:43 PM
As an update, the old installer does check the REMOVE=ALL property and that triggers the uninstall which calls (all of the time) the unconfigure function. So as part of the uninstall the prompt to unconfigure is always called.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 22, 2016
12:45 PM
It kind of depends on where that needs to be set. In suite projects you can set IsInstallMode=remove and in MSI projects you set REMOVE="ALL" for CustomAction sequence conditions. There is also some msi properties you can set to adjust the REINSTALLMODE, see Windows Install property reference
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 22, 2016
05:38 PM
PlinyElder wrote:
It kind of depends on where that needs to be set. In suite projects you can set IsInstallMode=remove and in MSI projects you set REMOVE="ALL" for CustomAction sequence conditions. There is also some msi properties you can set to adjust the REINSTALLMODE, see Windows Install property reference
In this particular case I want to update the old installer (or remove) but I don't want to prompt to unconfigure the product.
![](/skins/images/8CE4FAD0DE6F3A6F9D0567434D2D2DAE/responsive_peak/images/icon_anonymous_message.png)