cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
IlkkaV
Level 7

Problem with a Feature Prerequisite

I'm having an issue with a feature-specific prerequisite (i.e. it gets installed if the corresponding feature is selected in the custom setup). The feature in question is a WCF web service and it requires Microsoft .NET 3.5. I've added the prerequisite and it seems to install fine, but the service fails to start. However, when I try the same package in the same environment (after reverting the virtual test machine to the previous state) with the exception that I install .NET separately before installing our package, everything works just fine. Based on these test results it seems like there's something wrong either with the .NET 3.5 SP1 prerequisite or with the feature prerequisite mechanism.

Our main products (i.e. the ones existing customers are upgrading) do not require .NET, so therefore I wouldn't like to force its installation to everyone and that's why we're using a feature prerequisite here.

Has anyone encountered a similar issue, or more importantly does anyone have any resolution or workaround for this?

One additional issue is caused by the fact that once .NET is installed as a feature prerequisite, it reboots the machine in the middle of the installation, and that causes all my CustomActionData values to be missing once the setup is resumed after the reboot. Is there any way to make this data persist over the reboot?
Labels (1)
0 Kudos
(5) Replies
IlkkaV
Level 7

Nevermind, both issues were solved by delaying the .NET reboot to the end of the main installation.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I'm glad you have a fix for now. Regarding your question about CustomActionData, though, I'm a little confused how it became a problem. CustomActionData is generally supplied during the execute sequence (because they are often private properties), which has not yet been started when the feature prerequisite causes a reboot.

If there's data coming from the UI sequence to the Execute sequence, it should be in restricted properties, or listed in SecureCustomProperties; these properties should be preserved across a feature prerequisite reboot. So perhaps the answer is to add the property names to SecureCustomProperties.
0 Kudos
jwreels
Level 5

How are you delaying the .net reboot until the end of the install? I have .net 3.5 as a prerequisite, however, on the behavior tab of the prerequisite, I only have options to reboot and resume. I have specified 1641 and 3010 as the return codes if a reboot is required.
0 Kudos
IlkkaV
Level 7

MichaelU wrote:
If there's data coming from the UI sequence to the Execute sequence, it should be in restricted properties, or listed in SecureCustomProperties; these properties should be preserved across a feature prerequisite reboot. So perhaps the answer is to add the property names to SecureCustomProperties.


Thanks MichaelU, those properties were not listed in SecureCustomProperties, so even though I managed to eliminate the reboot, I'll add them just to be on the safe side.
0 Kudos
IlkkaV
Level 7

jwreels wrote:
How are you delaying the .net reboot until the end of the install? I have .net 3.5 as a prerequisite, however, on the behavior tab of the prerequisite, I only have options to reboot and resume. I have specified 1641 and 3010 as the return codes if a reboot is required.


That's strange, as it was the Behavior tab in the Prerequisite Editor where I changed the "If the prerequisite appears to need a reboot" value from "Reboot the machine and resume on reboot" to "Note it, fail to resume if the machine is rebooted, and reboot after the installation".
0 Kudos