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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users