Unfortunately with MSI's AppSearch action, you don't have any real control over the order of the attempted resolution of each of the various properties.
-----Original Message----- From: Viv coco [mailto:vcotirl...@hotmail.com] Sent: Friday, March 26, 2010 2:18 AM To: WiX Subject: [WiX-users] FileSearch on INSTALLLOCATION, whereas INSTALLLOCATION is either registry entry or nested Directory tag Hi, In the WiX tutorial is a sample that does: - reads the path to the installation directory from the registry - checks if in that directory a specific file exists - if yes, installs the a specific feature (docu) What I would have wanted would have been: - reads the path to the installation directory from the registry - checks if in that directory a specific file exists OR checks if in the default path (created by the nested Directory tags) the file exists - if yes, installs the docu feature I thought that by doing the FILEEXIST File search by using the INSTALLDIR would mean that the File search is done in the INSTALLDIR which is either the registry value if that one exists in the registry, OR the default directory paths specified by nested Directory tags if the registry value was not found. But it seems that when the FILEEXIST condition is evaluated the INSTALLDIR is set to whatever was found in the registry, which means if the registry entry was not found, at this point the INSTALLDIR will be empty and it won't be, as I expected, the nested Directory tags we specified. [code] <!-- Check if in the registry we have already saved the path where the app should be installed --> <Property Id="INSTALLLOCATION"> <RegistrySearch Id="MyPathsFromRegistry" Type="raw" Root="HKLM" Key="Software\MySetup" Name="InstallDir"/> </Property> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="MyFirstSetup" Name="MyFirstSetup"> <Directory Id="INSTALLLOCATION" Name="MyFirstSetup1.0"> <Component Id="MyExe" Guid="9660051E-43CA-4459-AEF1-290BBE3DE544"> <File Id="MyMainExe" Name="MyApp.exe" Source="..\MyApp\Debug\MyApp.exe" DiskId="1" KeyPath="yes"/> </Component> <Component Id="MyDocumentation" Guid="5D64FD41-B8FF-4B77-8777-4CFD81855A0B"> <File Id="MyDocu" Name="readme.txt" Source="..\MyApp\Debug\readme.txt" DiskId="1" KeyPath="yes"/> </Component> </Directory> </Directory> </Directory> </Directory> <!-- check if in the installation directory (egal if it's the one gathered from registry or the default one) has a lookfor.txt file and if not don't install the documentationc --> <!-- !!! ACTUALLY !!! for some reason, when the following Property is evaluated the INSTALLLOCATION is set to whatever was in the registry, and if no key was found in the registry this value is empty, so it was not yet set to whatever default directory path was specified with the nested Directory tags--> <Property Id='FILEEXISTS'> <DirectorySearch Id='DirSearch' Path='[INSTALLLOCATION]' Depth='0'> <FileSearch Id='FileSearch' Name='lookfor.txt'/> </DirectorySearch> </Property> <Feature Id="CompleteExe" Level="1"> <ComponentRef Id="MyExe" /> </Feature> <!-- install this feature only if you find the lookfor.txt file (Level 0 means the feature won't be installed) --> <Feature Id="CompleteDoc" Level="1"> <ComponentRef Id="MyDocumentation" /> <Condition Level="0"> NOT FILEEXISTS </Condition> </Feature> [/code] How can I do so that the FileSearch is done in INSTALLLOCATION whereas the INSTALLLOCATION is either the registry entry if found or the nested directory tag if registry entry was not found? TIA, Viv _________________________________________________________________ Hotmail: Trusted email with powerful SPAM protection. https://signup.live.com/signup.aspx?id=60969 ---------------------------------------------------------------------------- -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users