I need to check a registry key and then only install a file if the regkey is equal to a certain value.

Is there any way to create a Component/Feature Condition that is dependent on the value of a Registry Key? When I use the Condition Builder is only has Feature, Component, Environment Variable, and Property listed...
0 Comments   [ - ] Hide Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity


I am not sure what application you are uisng to create your MSI, but you should be able to use an AppSearch to look for the vaule of a registry key. The AppSearch will then put the value into an MSI if the key is found. I use InstallShiled and there is a wizard for SystemSearch as IS calls it.

You will then be able to set a condition on the compont basied on if the Property exists or contains any data.
Answered 09/19/2005 by: TomB
Orange Belt

Please log in to comment
I'm using Wise to package and I'm not aware of an AppSearch function....
Answered 09/19/2005 by: pliant
Senior Yellow Belt

Please log in to comment
I can not speak on how you can do this in the Wise console or if there is a nice wizard for it.
The Appsearch is a feature of the Windows Installer so, regarless you can use either a direct editor in Wise or use ORCA to do the following:

1. Open the MSI in a direct Edit mode and view the tables
2. Select the AppSearch Table
3. Create a new Row and set the data as follows:

Propoerty | Singature_
REGVALUE1 | SigRegCheck1

4. Select the RegLocator Table
5. Add new Row and set the data as follows:

Signature_ | Root | Key | Name | Type
SigRegCheck1 | 2 | "Path to reg key" | RegCheck | 2

* For Root you will need to specify the correct Root to start the search 0= HKCR, 1 = HKCU, 2=HKLM
* For Key you will need to put the full path to the key such as, Software\Microsoft\Windows\CurrentVersion\Run

6. Select the Component Table and find the row that has your componet you wish to add a condition to
7. In the Condition column put REGVALUE1

*The condition will evaulte to TRUE if the regkey was found and was put in the Property, you could use NOT REGVALUE1 if you only want to install the component if the regkey is present.

Hope that helps is is enough info
Answered 09/19/2005 by: TomB
Orange Belt

Please log in to comment