Johan Appelgren a écrit : > On Tue, Jul 1, 2008 at 11:29 AM, Frédéric Viollet > <[EMAIL PROTECTED]> wrote: > >> Johan Appelgren a écrit : >> >>> On Tue, Jul 1, 2008 at 10:07 AM, Frédéric Viollet >>> <[EMAIL PROTECTED]> wrote: >>> >>> >>>> Hi everyone, >>>> >>>> I've got a real big problem here on applying minor upgrades to my >>>> product. I really need your help here :) >>>> During the first install, I ask the user where the product should be >>>> installed (by using the wix standard Gui) >>>> But on minor upgrades, I do not ask him again. I just re-install the >>>> files to the previously selected location (well, that's what I'd like to >>>> do) >>>> I seem to have some problems with the property that points to my >>>> installation directory. >>>> Here's an extraction of the code I'm using: >>>> >>>> <Directory Id="TARGETDIR" Name="SourceDir"> >>>> <Directory Id='ProgramFilesFolder' Name='PFiles'> >>>> <Directory Id="MyCompany" Name="MyCompany"> >>>> <Directory Id="MyProduct" Name="MyProduct"> >>>> <Directory Id="SUITEINSTALLDIR" Name="MySuite"> >>>> <Component Id="MY_REGISTRY_ACTIONS" Guid="a guid"> >>>> <RegistryKey Root="HKLM" >>>> Key="Software\MyCompany\MyProduct\MySuite\MyModule"> >>>> <RegistryValue KeyPath="yes" Name="InstallDir" >>>> Value="[SUITEINSTALLDIR]MyModule" Type="string" Action="write" /> >>>> </RegistryKey> >>>> ..... Install a bunch of files .... >>>> </Component> >>>> </Directory> >>>> </Directory> >>>> </Directory> >>>> </Directory> >>>> </Directory> >>>> <Property Id="WIXUI_INSTALLDIR" Value="SUITEINSTALLDIR" /> >>>> <UIRef Id="MyProduct_UI" /> >>>> <UIRef Id="WixUI_ErrorProgressText" /> >>>> >>>> Now, let's say that the default ProgramFilesFolder is C:\Program Files\ >>>> On the first installation, the installdir is ask for. I enter F:\Program >>>> Files\MyCompany\MyProduct\MySuite *(and not C:)*. Everything works well : >>>> -the files are installed in F:\Program Files\MyCompany\MyProduct\MySuite >>>> -the registry value "InstallDir" is set to F:\Program >>>> Files\MyCompany\MyProduct\MySuite\MyModule >>>> >>>> On a minor upgrade, no installation dir is ask for (this is ok), and the >>>> new files are correctly copied to F:\Program >>>> Files\MyCompany\MyProduct\MySuite, but : >>>> -the registry value "InstallDir" is set to *C::\Program >>>> Files\MyCompany\MyProduct\MySuite\MyModule* >>>> >>>> Any idea of how I could fix this? >>>> >>>> Thanks a lot for your patience for reading all way down here :) >>>> >>>> Fred >>>> >>>> >>> I think you must set the SUITEINSTALLDIR property using a RegistrySearch. >>> http://wix.sourceforge.net/manual-wix2/wix_xsd_registrysearch.htm >>> >>> >> Ok. I will try this. >> The code should look like this then I guess: >> >> |<Property Id="SUITEINSTALLDIR"> >> <RegistrySearch Id="SUITEINSTALLDIR" Type="directory" Root"HKLM" >> Key="|Software\MyCompany\MyProduct\MySuite\MyModule|" Name="InstallDir" /> >> </Property> >> <Directory Id="TARGETDIR" Name="SourceDir"> >> snip .... >> <Directory Id="SUITEINSTALLDIR" Name="MySuite"> >> </Directory> >> snip .... >> </Directory> >> <Property Id="WIXUI_INSTALLDIR" Value="SUITEINSTALLDIR" /> >> <UIRef Id="MyProduct_UI" /> >> <UIRef Id="WixUI_ErrorProgressText" />| >> >> But, will this work on first install (the registry key will not be >> found)? Will the SUITEINSTALLDIR Property have a default value? >> > > Yes, in that case the registry search will not set the property. > SUITEINSTALLDIR will then be set as before based on the Directory > structure. > > >>> Why is the InstallDir registry value the KeyPath for all your files? >>> Normally you have one component per .exe, .dll, .ocx and so on with >>> the file as KeyPath. >>> >>> >> My fault. The extracted code was incomplete. There was a missing >> </Component> after the Registry entries :) >> > > Okey. :) >
Thanks a lot for your help. Fred ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users