[wix-users] Burn: How to pass RegistrySearch result value to Custom Bootstrapper

Ghenadie Tanasiev ghenadie.tanasiev at gmail.com
Tue Oct 3 04:30:15 PDT 2017


Even if you set bal:Overridable="yes" in the variable
"THIRDPARTY_INSTALL_DIR"  declaration?

Can you try this please?

<Variable Name="THIRDPARTY_INSTALL_DIR_Exists" Value="0"
bal:Overridable="yes"/>
<util:RegistrySearch Id="ThirdPartyInstallDirSearchExists"

                     Root="HKLM"

                     Key="SYSTEM\CurrentControlSet\Control\Session
Manager\Environment"

                     Value="OceanSoftDir"
 Result="exists"
 Variable="THIRDPARTY_INSTALL_DIR_Exists"/>
<Variable Name="THIRDPARTY_INSTALL_DIR" Type="string" Value=""
bal:Overridable="yes"/>
<util:RegistrySearch Id="ThirdPartyInstallDirSearch"
 Root="HKLM"
 Key="SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
 Value="InstallDirPath"
 Result="value"
 After="ThirdPartyInstallDirSearchExists"
 Condition="THIRDPARTY_INSTALL_DIR_Exists"
 Variable="THIRDPARTY_INSTALL_DIR"/>

On Tue, Oct 3, 2017 at 1:38 PM, Farrukh Waheed via wix-users <
wix-users at lists.wixtoolset.org> wrote:

> Thanks for quick reply.
> But this is simply passing Value = 0 to my Custom Bootstrapper.
>
> On 3 October 2017 at 15:14, Ghenadie Tanasiev via wix-users <
> wix-users at lists.wixtoolset.org> wrote:
>
> > Hello,
> >
> >
> > It is not clear, do you want to check if *OceanSoftDir *exists in
> > registries, or you actually need to get it's value from the registry,
> like
> > installation path ? If so, *Result  *attribute of the* RegistrySearch *
> > element needs to be changed to *value. *In the <Variable> element do not
> > use $(var...) but assign a default value, which will be overridden by
> > the *RegistrySearch
> > *result, if anything will be found.
> >
> > an example:
> >
> > <Variable Name="InstallDirPathExists" Value="0"/>
> > <util:RegistrySearch Id="InstallDirPathRegSearchExists"
> >
> >                      Root="HKCU"
> > Key="SOFTWARE\$(env.APPNAME)"
> > Value="InstallDirPath"
> > Result="exists"
> > Variable="InstallDirPathExists"/>
> > <Variable Name="InstallDir" Type="string" Value="$(env.APPNAME)"
> > bal:Overridable="yes"/>
> > <util:RegistrySearch Id="InstallDirPathRegSearch"
> > Root="HKCU"
> > Key="SOFTWARE\$(env.APPNAME)"
> > Value="InstallDirPath"
> > Result="value"
> > After="InstallDirPathRegSearchExists"
> > Condition="InstallDirPathExists"
> > Variable="InstallDir"/>
> >
> > Regards,
> > Ghenadie
> >
> >
> >
> > On Tue, Oct 3, 2017 at 12:57 PM, Farrukh Waheed via wix-users <
> > wix-users at lists.wixtoolset.org> wrote:
> >
> > > In my Bundle code, I'm trying to use the result of a registry search to
> > set
> > > Variable to be used in my Custom Boostrapper:
> > >
> > >      <util:RegistrySearch
> > >       Id="ThirdPartyInstallDirSearch"
> > >       Variable="THIRDPARTY_INSTALL_DIR"
> > >       Root="HKLM"
> > >       Key="SYSTEM\CurrentControlSet\Control\Session
> Manager\Environment"
> > >       Value="OceanSoftDir"
> > >       Result="exists"
> > >       />
> > >
> > >     <Variable Name="THIRDPARTY_INSTALL_DIR" Type="string"
> > > Value="$(var.THIRDPARTY_INSTALL_DIR)"/>
> > >
> > >
> > > But this would give an error:
> > > Undefined preprocessor variable '$(var.THIRDPARTY_INSTALL_DIR)'
> > >
> > > Basically, I want to pass the result of registry search to my custom
> > > bootstrapper application.
> > >
> > > Thanks
> > >
> > > ____________________________________________________________________
> > > WiX Toolset Users Mailing List provided by FireGiant
> > > http://www.firegiant.com/
> > >
> >
> > ____________________________________________________________________
> > WiX Toolset Users Mailing List provided by FireGiant
> > http://www.firegiant.com/
> >
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/
>


More information about the wix-users mailing list