cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mpento
Level 3

Add a new custom action to be used during patching

Hello All,

I think this might be a stupid question, but I just want to confirm my suspicions of why I am having problems.

We have a product that was already released to customers at v1.0.0, after release it was found that the original release was missing an empty directory that will cause a blocking failure in certain situations.

For context, we release full installers for our initial releases. After that, all releases are patch only.

I've been tasked with adding this folder back in our next patch, however there is a catch. The patch must be able to be uninstalled. So, this means I cannot add new rows to the CreateFolder table, since that would disable the ability to uninstall the patch.

I was asked by development to "just add a custom action that makes the folders", however, from my testing, I don't think this is possible.

It appears that the only custom actions that get executed by my patches are those which existed in the original release, any custom actions I add appear to never get executed. This makes sense to me, however, I cannot find anything in documentation that states this explicitly.

My theory is this: You cannot add custom actions to a patch only. To do this, you would need to modify the original installer and add the custom action and then generate your patch from that, however, that would be stupid since it would make more sense to just add the folder the right way. 

My question is, is this assumption correct? If so, is there someplace in official documentation that specifically confirms the behavior above?

Of course, it's also possible that I am doing something wrong. I don't think so, but that's always a possibility.

Any insight would be very helpful.

Regards,

Mike

Labels (1)
0 Kudos
(2) Replies
varul
Revenera Moderator Revenera Moderator
Revenera Moderator

Hi @mpento 

You can create a patch using patch configuration with old and new msi's like version1.0 and version1.0

Version1.0 is old msi and Version1.01 is new msi with new customaction added to run only on patch installation.

EX:

Created a project with version1.0 and release1
without any customaction


And installing version1 setup.exe

It will create a file in C:\Program Files (x86)\My Company Name\My Product Name\Version1.txt


Step2 for patch creation:
Now open the same ism again and change version from 1.00.0000 to 1.01.000

and add new files

add a Customaction with condition to run only on patch installation

Add a new release and rename it version1.01 under product configuration

Save and build the installer


Step3: Creating a patch
Now go to Patch Design under Media view,

Add a new patch configuration

Add latest1 as our newly build installer (Version1.01)

And add Prev1 as a our version1.0 installer

Now right click and build the patch.

After installing version1.0 installer

Installer the patch created using patch desing view and verify Customaction executed and folder created under C:\ drive successfully.

Please refer attached sample project and screenshots.

Installscript CA to add a new folder:

https://docs.revenera.com/installshield22helplib/Subsystems/installshield22langref/helplibrary/LangrefCreateDir_Example.htm?

Customaction conditions:

https://resources.flexera.com/web/pdf/archive/IS-CHS-Common-MSI-Conditions.pdf

 

0 Kudos
LouisE
Level 3

MP4 has no sound?  Also goes very fast, can't follow.

0 Kudos