0
votes

I have been searching the internet for an answer on this registry search issue.

I have a bigger wix file but i could not get multiple features working and its the conditioning of the features so I have created a basic test wix document to understand the features of wix but can not get the result i required.

The code is as follows:

<Property Id="BASICTEST" Secure="yes" >
  <RegistrySearch Id="_Regsearch_Basic" Root="HKLM" 
   Key="SOFTWARE\TGSL\BasicInstaller" Name="BASIC1" Type="raw" >
  </RegistrySearch>
</Property>

<Property Id="BASICTEST1" Secure="yes" >
  <RegistrySearch Id="_Regsearch_Test" Root="HKLM" 
   Key="SOFTWARE\TGSL\BasicInstaller" Name="TEST1"  Type="raw" >
  </RegistrySearch>
</Property>


<Feature Id="BasicFeature" Title="BasicFeat" Level="0">
  <Condition Level="1">NOT (BASICTEST="0")</Condition>
  <ComponentRef Id="BasicTest"/>
    </Feature>

<Feature Id="TestFeature" Title="TestFeat" Level="0" >
  <Condition Level="1">NOT (BASICTEST1="0") </Condition>
  <ComponentRef Id="BasicTest1"/>
</Feature>

I have set up four registry entries, all values are 1 (BASIC1=1 and TEST1=1) to test which registry it is using (either 2 in SOFTWARE\TGSL\BasicInstaller for 64bit or 2 in SOFTWARE\TGSL\BasicInstaller for 32bit)

I know it defaults to 32bit unless otherwise stated but still nothing. I was using process monitor to test to see if my .msi file was reading the registry...which it isnt.

I created a log file when installing the .msi and i get a error code when reading the registry:

AppSearch: Property: BARRIETEST, Signature: _Regsearch_BarrieTest1

Note: 1: 2262 2: Signature 3: -2147287038

Note: 1: 1402 2: HKEY_LOCAL_MACHINE32\SOFTWARE\TGSL\BasicInstaller 3: 2

The error code is not finding the file but it looks like it is looking in a directory that doesnt exist and when i change it to win64="yes" it takes away the 32 after the HKEY_LOCAL_MACHINE.

I have tried building this test script in wix 2.0 and it searches the registry fine and it changes the property to the value of the registry key "1" so i am in a quandary as to what im doing wrong??

Is there a difference between the registry search parameters between wix 2.0 and wix 3.5?

Can anyone suggest a possible fix or how i can get these features working?

Please help...thank in advance

1
I have tested this example on a test server and a virtual machine and it works fine...does that mean it could be the version of visual studio i am using (im using vs 2010)??Barrie Hebberd
My main machine is running windows 7 if that helps also??Barrie Hebberd
Try to disable your antivirus.Rami A.
It could also be a lack of permissions reading those registry keys. Are you running the installer elevated as an Administrator?Rami A.
yeah the visual studio is running as administrator already, ill try turning off the antivirus to see if that helps :)Barrie Hebberd

1 Answers

3
votes

For closure, as indicated in the question comments, this was a permissions issue where the user running the setup installer did not have enough privileges to access HKEY_LOCAL_MACHINE.