cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
vemulapa
Level 4

Help with custom prerequisite

I have Installshield 2018R2 Premier edition. I have a custom prerequisite to install DacFramework.msi. This prereq needs to be installed only if a specific registry key does not exist.

I have tried both these scenarios:

1. When the registry key exists

2. When the registry key does not exist

In both these cases, the prereq installation is being kicked off and I get an error message about installation failure.

In the second case, the installation of the prereq finishes (registry key entry appears,  the relevant files are installed to C:\Program Files, Windows Event Viewer shows the installation completion step) but I still get the same error message.

There seem to be two issues: 1. The condition is not being evaluated correctly 2. Errors even when the prereq msi installation finishes

Attached are screenshots of what I have. Can someone point me in the right direction as to what is wrong?

Labels (2)
0 Kudos

(15) Replies
shunt
Revenera Moderator Revenera Moderator
Revenera Moderator

It looks like you are missing a value for: "Specify the registry value name to check"

Try using:
Specify the registry key name to check:
    HKEY_LOCAL)MACHINE\SOFTWARE\Microsoft|Microsoft SQL Server\Data Tier Application Framework

Specify the registry value name to check:
    InstallLocation

Specifiy the registry value data to check:
    C:\Program Files\Microsoft SQL Server\150\DAC\bin

0 Kudos

Thank you for your quick response and pointing out what could be wrong. I tried your suggestion but still have the same issue. I tried the attached changes and can still not resolve the issue.

0 Kudos

 
0 Kudos

If you want to base the condition on the existance of a registry entry, why don't you select that option but instead use "has a specific value"?

Stefan Krueger
InstallSite.org
0 Kudos

I tried using that condition as well with no luck. I even tried file does exists or does not exist option too.

0 Kudos

InstallLocation is the key, not the value. Append it to the registry path in the first box.

Stefan Krueger
InstallSite.org
0 Kudos

That was the first thing I tried. I later changed it based on the suggestion provided. Attached is my initial setup.

I even tried entering (Default) for the value.

0 Kudos

There's a - missing between Data and Tier and a \ after bin

Stefan Krueger
InstallSite.org
0 Kudos

Thank you so much for taking the time to look into this and walking me through this 🙂 @Stefan_Krueger 

I made those changes but still no luck

0 Kudos

 you atatch your .prq file please?

Stefan Krueger
InstallSite.org
0 Kudos

Apologies for my spelling 😉 I meant: Can you please attach your .prq file so we can look at it?

Stefan Krueger
InstallSite.org
0 Kudos

🙂 Sure.

Attached both the .prq file as well as the msi I'm trying to get installed.

0 Kudos

It works for me if I select 64 bit. Doesn't work with 32 bit or Default

Stefan Krueger
InstallSite.org

Right. Thats probably because the msi is being installed to the 64 bit location. I still get the issue even if I change it to 64 bit. May be something to do with the setup on my machine.

0 Kudos

@Stefan_Krueger 

Here are two things that worked for me:

1. A registry key does or does not exist

Key name

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Data-Tier Application Framework\150

Registry location to be 64-bit

Run prereq: if the key DOES NOT EXIST

2. A registry key has a specified value

Key name

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Data-Tier Application Framework\150

Value name

VersionNumber

Value data

15.0.4897.1

registry location: 64-bit

 

0 Kudos