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

Add new registry key-value in Quick patch issue

All

We started a quick patch project to

1. Update some binaries that was in the original install (in the target machine local file system and GAC)
2. Add new files. When adding a file, an existing feature is selected to associate it with...

The quick patch was tested fine and it updates/adds the files as expected...

Then there was requirement to add a new registry key... So from registry view, a specific feature was selected and the new key and value were added..

When running the updated quick patch over the original install, we found that the new registry entry is created OK, but the files are not getting updated...

The patch log also did not reveal any reason for this issue...

After playing around with the options, we found that if we turn off the "Streamline quick patch" property (set it to No), the issue gets fixed and the files are updated correctly and the new registry key-value is also created..

Our questions

1. Why adding a new registry key would break the patch that was working ok before?

2. Why turning off the Steamline quick patch property would fix it?

Turning off this option is not an accepted solution for us, because this seem to induce a dependency to the original setup location. ie when the quick patch runs, and the original setup folder is not accessible, then it brings up a message box that says "the feature you are trying to use is on a network resource that is not available".....

We dont want this.. So what we are looking for is a solution that would let us update the files and add registry keys, with out having to turn off the steamline option....

Please advise....
Labels (1)
0 Kudos
(3) Replies
manomatt
Level 8

Hi,

The HELP section of "QuickPatch streamlining" mentions:-

if your QuickPatch project includes a new file or registry entry and InstallShield does not use QuickPatch streamlining, InstallShield creates a new subfeature for that file or registry entry. InstallShield also adds one or more prebuilt InstallShield custom actions to work around certain Windows Installer patch requirements. However, if InstallShield does use QuickPatch streamlining, the file or registry entry is added to an existing feature, and no special prebuilt InstallShield custom actions are required.

May be this explains the reason why it worked when the setting was set to no. Did you check if any new feature/ subfeature got added?
0 Kudos
firmusoft
Level 5

mano.n.s75 wrote:
Hi,

The HELP section of "QuickPatch streamlining" mentions:-

if your QuickPatch project includes a new file or registry entry and InstallShield does not use QuickPatch streamlining, InstallShield creates a new subfeature for that file or registry entry.


Hi Mano, thanks for your response.. However the issue is not with the "new" item but with updating an existing item....

Consider a simple test project that has just one feature with just one component associated with it, and the component has just one file in it... I create a quick patch that updates the file and ALSO adds a "new" registry key-value.. Note that in a quick-patch project, for adding a new registry entry, its MANDATORY to select an existing feature, so I select the only feature available in the project...

Case 1 - Patch built with streamlining set to YES (default value).
Result - Registry entry created OK, but file NOT updated....

Case 2 - Patch built with streamlining set to NO
Result - Registry entry created OK and file UPDATED...

So in both cases, the new entry (which is the registry key-value) is added as expected. Its only the update that is not working in the former case...

The logs generated during patch generation in both cases is exactly the same (obviously temp folder names, patch GUID and time entries are diff, but relevant parts are the same).... In both logs, the updated file is detected as "modified" in the log...

So as per the documentation of "Streamlining", in case 1, the new registry entry is added to the existing sole feature (which also has the update to the file), where as in case 2, its added to a new feature...

It looks like in case 1, installshield is applying the registry update, but ignoring the file update in the feature... That doesnt seem right....

Also is there a way to log the runtime events during Quick patch application using the msi exec command line..??

Let me know your thoughts...
0 Kudos
rrinblue22
Level 9

you can easily use the Minor upgrade patch using the patch design view and have more control over things.

Quick patch is good when just doing few file replacement/update.
0 Kudos