Hello,

i have started to use WiX a few hours ago. It is a great tool, but meanwhile i 
am blocked by some points where i don't find answers:


1) I use WixUI_InstallDir and want to suggest a certain path (e.g. 
c:\MyTool\binary instead of c:\program files\MyTool ). I know this is perhaps 
non-standard, but i have a different tool (not written by me), which want to 
have my installation at this position. How i can give the user a different path 
? I already tried different ways, like the following ones but was not yet 
successful:

      <Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONROOTDIRECTORY" />

<!--
      <Property Id="WIXUI_INSTALLDIR" Value="c:\MyTool" />
      <Property Id="UI_CONFIG_INPUT_DIR" Value="C:\\MyTool\\" />
-->

<!--
      <UIRef Id="WixUI_InstallDir"/>
-->

        <UI Id="WixUI_InstallDir">

Is the right way (instead of doing the above not working changes) to define the 
directories directly at new non-standard position, something like

      <Directory Id="TARGETDIR" Name="SourceDir">
         <Directory Id="MySpecialFolder" Name="c:\">
            <Directory Id="APPLICATIONROOTDIRECTORY" Name="MyTool">
               <Directory Id="APPLICATIONBINARYDIRECTORY" Name="binary"/>
            </Directory>
         </Directory>
         <Directory Id="ProgramMenuFolder">
            <Directory Id="ApplicationProgramsFolder" Name="MyTool"/>
         </Directory>
      </Directory>

But this seems not to work.


2) In general what i want to do is a WelcomeDlg, LicenseAgreement, then start 
installation and a final dialog, that installation was successful.
I started with WixUI_Minimal, but there i start directly with a special 
LicenseAgreement (which looks different and i don't want it) and WelcomeDlg is 
also missing.
I took WixUI_InstallDir, but I want to skip "InstallDirDlg", perhaps also 
"VerifyReadyDlg", so the user has no chance to change the path. But i want to 
keep the other dialogs.
Is this the correct way ? How can i do it ?

What i tried so far:

        <UI Id="WixUI_InstallDir">
...

            <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" 
Value="LicenseAgreementDlg">1</Publish>

            <Publish Dialog="LicenseAgreementDlg" Control="Back" 
Event="NewDialog" Value="WelcomeDlg">1</Publish>
            <Publish Dialog="LicenseAgreementDlg" Control="Next" 
Event="NewDialog" Value="InstallDirDlg">LicenseAccepted = "1"</Publish>

I changed "InstallDirDlg" to "VerifyReadyDlg" and is almost looks like i want.
But when i press "Back" on "VerifyReadyDlg", i am back to "InstallDirDlg" 
instead of LicenseAgreementDlg (or WelcomeDlg is also ok).
I tried removing all "InstallDirDlg", but then i get error messages.
I tried removing all "InstallDirDlg" and "VerifyReadyDlg", but then how do i 
start installation of files itself ?
Just for reference, here is the rest of my code (mainly a copy of 
WixUI_InstallDir)

            <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" 
Value="LicenseAgreementDlg">1</Publish>
            <Publish Dialog="InstallDirDlg" Control="Next" 
Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
            <Publish Dialog="InstallDirDlg" Control="Next" Event="DoAction" 
Value="WixUIValidatePath" Order="2">NOT WIXUI_DONTVALIDATEPATH</Publish>
            <Publish Dialog="InstallDirDlg" Control="Next" Event="SpawnDialog" 
Value="InvalidDirDlg" Order="3"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND 
WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
            <Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" 
Value="VerifyReadyDlg" Order="4">WIXUI_DONTVALIDATEPATH OR 
WIXUI_INSTALLDIR_VALID="1"</Publish>
            <Publish Dialog="InstallDirDlg" Control="ChangeFolder" 
Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
            <Publish Dialog="InstallDirDlg" Control="ChangeFolder" 
Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish>

            <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" 
Value="InstallDirDlg" Order="1">NOT Installed</Publish>
            <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" 
Value="MaintenanceTypeDlg" Order="2">Installed</Publish>

            <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" 
Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>

            <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" 
Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
            <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" 
Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
            <Publish Dialog="MaintenanceTypeDlg" Control="Back" 
Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>

            <Property Id="ARPNOMODIFY" Value="1" />
        </UI>

        <UIRef Id="WixUI_Common" />

3) What is "KeyPath" ? When i create entries in the registry, some (first ? but 
multiple times ?) has "KeyPath" inside, e.g.

<RegistryValue Type="string" Name="MyString" Value="MyContent" KeyPath="yes" />

When do i need to use it, when not ? For what is it for ? Some kind of index / 
base for something ?

4) When creating a shortcut (i took an example from delivered WiX help file and 
modified it), there is the following line:

<RegistryValue Root="HKCU" Key="Software\MyTool" Name="installed" 
Type="integer" Value="1" KeyPath="yes"/>

For what is it ? Is the Name (="installed") relevant or can i take every name 
(e.g. wxs_installed) ? I ask, because my tool has a registry entry, with same 
name (but string) and different content. So i must change the one or the other 
to avoid a conflict...


So far for now !

Best regards and many thanks for your help !

                 Martin

------------------------------------------------------------------------------

_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to