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