Difficult Question: Order of the AppSearch table
[8D]
Hello everyone!
OK, this is quite a difficult question I think, but does anyone know the processing order of the AppSearch table?
To explain myself better, I have put together an example below:
First of all, I want to search for a registry value 'HKLM\SOFTWARE\Application\Version' and assign it to the MYPROP_APPVERSION property.
Then, once I have the above property set, I then want to search for the following value 'HKLM\SOFTWARE\Application\[MYPROP_APPVERSION]\InstallationPath'
[;)] See where I'm going with this now??? [;)]
Anyways, I can't seem to control the order of the AppSearch table, so that my first property ('MYPROP_APPVERSION') is evaluated before the installation evaluates the second value.
Takers anyone???
[8D]
Hello everyone!
OK, this is quite a difficult question I think, but does anyone know the processing order of the AppSearch table?
To explain myself better, I have put together an example below:
First of all, I want to search for a registry value 'HKLM\SOFTWARE\Application\Version' and assign it to the MYPROP_APPVERSION property.
Then, once I have the above property set, I then want to search for the following value 'HKLM\SOFTWARE\Application\[MYPROP_APPVERSION]\InstallationPath'
[;)] See where I'm going with this now??? [;)]
Anyways, I can't seem to control the order of the AppSearch table, so that my first property ('MYPROP_APPVERSION') is evaluated before the installation evaluates the second value.
Takers anyone???
[8D]
0 Comments
[ + ] Show comments
Answers (3)
Please log in to answer
Posted by:
VikingLoki
19 years ago
According to the MSDN AppSearch Table documentation (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/appsearch_table.asp)
So yeah, it will process the file (CompLocator table) before it processes the registry (RegLocator table). Not the way you want to go, and it doesn't look like this can be altered. You'll have to pull that registry key in a custom action performed right before the AppSearch. Then you'll be good to go.
Appsearch table is used by the AppSearch action. The AppSearch action searches for signatures using the CompLocator table first, the RegLocator table second, the IniLocator table third, and finally the DrLocator table. File signatures are listed in the Signature table. A signature that is not in the Signature table denotes a directory and the action sets the property to the directory path for that signature.
So yeah, it will process the file (CompLocator table) before it processes the registry (RegLocator table). Not the way you want to go, and it doesn't look like this can be altered. You'll have to pull that registry key in a custom action performed right before the AppSearch. Then you'll be good to go.
Posted by:
brenthunter2005
19 years ago
[8D]
Yeah, thats what I have had to resort to.
I would prefer to keep all these things in the native MSI format though, rather than adding heaps of CA's to it.
I've found out that if I add my second AppSearch to the MSI table first, and then add the first one, compile the MSI, then it works in the correct order. Dodgy though.......
Yeah, thats what I have had to resort to.
I would prefer to keep all these things in the native MSI format though, rather than adding heaps of CA's to it.
I've found out that if I add my second AppSearch to the MSI table first, and then add the first one, compile the MSI, then it works in the correct order. Dodgy though.......
Posted by:
VikingLoki
19 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.