Or you could name the Property and Directory Id's the same and get rid of the second custom action. Definitely a more robust solution.
On Tue, Sep 3, 2013 at 2:38 PM, Hoover, Jacob <jacob.hoo...@greenheck.com>wrote: > You need a separate property for the search, and a CA to assign a value to > the VS12_ROOT_FOLDER if it exists. > > IE: > > <Fragment> > <Property Id="VS12_ROOT " Secure="yes"> > <RegistrySearch Id="SearchForVS12RootPath" Root="HKLM" > Key="Software\Microsoft\VisualStudio\SxS\VS7" Name="12.0" Type="raw" /> > </Property> > </Fragment> > ... > <DirectoryRef Id="TARGETDIR"> > <Directory Id="VS12_ROOT_FOLDER" Name="VS12Root"> > <Directory Id="VS12_Common7" Name="Common7"> > <Directory Id="VS12_IDE" Name="IDE"> > <Directory Id="VS12_Extensions" Name="Extensions"> > <Directory Id="VS12_ExtensionsMicrosoft" Name="Microsoft"> > <Directory Id="VS12_ExtensionsMicrosoftContracts" > Name="CodeContracts"> > <Directory Id="VS12_ExtensionsMicrosoftContractsVersion" > Name="$(var.Version)"> > <Component Id='VS12extension.manifestComp' > Guid='$(var.VS12VsixManifestCompGuid)'> > <Condition> VS12_ROOT </Condition> > ... > <CustomAction Id="SetVS2013Dir" Directory=" VS12_ROOT_FOLDER" > Value="VS12_ROOT" /> > > -----Original Message----- > From: Manuel Fahndrich [mailto:m...@microsoft.com] > Sent: Tuesday, September 03, 2013 4:32 PM > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] problem with conditional component > > I'm trying to install some files conditionally under VS2013 by using the > following snippets of code: > > <Fragment> > <Property Id="VS12_ROOT_FOLDER" Secure="yes"> > <RegistrySearch Id="SearchForVS12RootPath" Root="HKLM" > Key="Software\Microsoft\VisualStudio\SxS\VS7" Name="12.0" Type="raw" /> > </Property> > </Fragment> > > ... > > > <PropertyRef Id="VS12_ROOT_FOLDER"/> > > ... > > <DirectoryRef Id="TARGETDIR"> > <Directory Id="VS12_ROOT_FOLDER" Name="VS12Root"> > <Directory Id="VS12_Common7" Name="Common7"> > <Directory Id="VS12_IDE" Name="IDE"> > <Directory Id="VS12_Extensions" Name="Extensions"> > <Directory Id="VS12_ExtensionsMicrosoft" Name="Microsoft"> > <Directory Id="VS12_ExtensionsMicrosoftContracts" > Name="CodeContracts"> > <Directory Id="VS12_ExtensionsMicrosoftContractsVersion" > Name="$(var.Version)"> > <Component Id='VS12extension.manifestComp' > Guid='$(var.VS12VsixManifestCompGuid)'> > <Condition>VS12_ROOT_FOLDER</Condition> > <File Id='VS12extension.manifest' > Name='extension.vsixmanifest' Source='VS11.extension.vsixmanifest' > Vital='yes'/> > <File Id='VS12codecontracts_SM.png' > Name='codecontracts_SM.png' Source='codecontracts_SM.png' Vital='yes'/> > <File Id='VS12codecontracts_project.png' > Name='codecontracts_project.png' Source='codecontracts_project.png' > Vital='yes'/> > <File Id='VS12codecontracts_license.rtf' > Name='license.rtf' Source='$(var.License)' Vital='yes'/> > </Component> > </Directory> > </Directory> > </Directory> > </Directory> > </Directory> > </Directory> > </Directory> > </DirectoryRef> > The idea is to install some files under the VS installation folder, > provided VS 2013 is installed. The code works fine on a machine with VS2013 > installed. However, on a machine where VS2013 is not installed, the > installer creates a folder on c:\ or d:\ called VS12Root populated with the > structure above. > > The registry on such a machine contains no entry for 12.0 under > Software\Microsoft\VisualStudio\SxS\VS7. > > How can I get Wix to not install anything if the VS12_ROOT_FOLDER property > is undefined, or what am I doing wrong? > > -MaF > > ------------------------------------------------------------------------------ > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! > Discover the easy way to master current and previous Microsoft > technologies and advance your career. Get an incredible 1,500+ hours of > step-by-step tutorial videos with LearnDevNow. Subscribe today and save! > http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ------------------------------------------------------------------------------ > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! > Discover the easy way to master current and previous Microsoft technologies > and advance your career. Get an incredible 1,500+ hours of step-by-step > tutorial videos with LearnDevNow. Subscribe today and save! > http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------------ Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! Discover the easy way to master current and previous Microsoft technologies and advance your career. Get an incredible 1,500+ hours of step-by-step tutorial videos with LearnDevNow. Subscribe today and save! http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users