Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to guide for ui.template #35

Open
ThierryLeGal opened this issue Mar 7, 2019 · 2 comments
Open

How to guide for ui.template #35

ThierryLeGal opened this issue Mar 7, 2019 · 2 comments

Comments

@ThierryLeGal
Copy link
Contributor

ThierryLeGal commented Mar 7, 2019

I would like to insert a LicenseAgreementDlg just after WelcomeDlg and before InstallDirDlg but don't understand how to proceed ? Indeed the readme.md does not help a lot on this part ... to me, it is unclear how to set ui.template, and other template configuration fields (componentTemplate , componentRefTemplate , directoryTemplate , wixTemplate ,uiTemplate , backgroundTemplate ) to do so ?!
Could you provide more explanation, or even provide an example on how to set these fields in the configuration object provided to MSICreator()?

@dapperdandev
Copy link

dapperdandev commented Apr 10, 2019

@ThierryLeGal What were you able to find out? I imagine your pr fixes the problem, but I myself, have no idea how to add the LicenseAgreementDlg to the template. I was assuming it was just msiCreator.uiTemplate = `, but nothing I input shows up in the generated .wxs

Figured it out by using msiCreator.ui.template. I also saw that your PR fixes a few issues around this so I created my own fork. Hopefully this project hasn't been abandoned.

@ThierryLeGal
Copy link
Contributor Author

@ThierryLeGal What were you able to find out? I imagine your pr fixes the problem, but I myself, have no idea how to add the LicenseAgreementDlg to the template. I was assuming it was just `msiCreator.uiTemplate = ``, but nothing I input shows up in the generated .wxs

Figured it out by using msiCreator.ui.template. I also saw that your PR fixes a few issues around this so I created my own fork. Hopefully this project hasn't been abandoned.

Indeed (just for others who might be interested), just define your own template such as the following one:

      template: String.raw`<UI Id="UserInterface">
      <Property Id="WixUI_Mode" Value="InstallDir" />
    
      <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
      <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
      <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
    
      <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
    
      <DialogRef Id="BrowseDlg" />
      <DialogRef Id="DiskCostDlg" />
      <DialogRef Id="ErrorDlg" />
      <DialogRef Id="FatalError" />
      <DialogRef Id="FilesInUse" />
      <DialogRef Id="MsiRMFilesInUse" />
      <DialogRef Id="PrepareDlg" />
      <DialogRef Id="ProgressDlg" />
      <DialogRef Id="ResumeDlg" />
      <DialogRef Id="UserExit" />
    
      <Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath" Order="3">1</Publish>
      <Publish Dialog="BrowseDlg" Control="OK" Event="SpawnDialog" Value="InvalidDirDlg" Order="4"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
    
      <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
    
      <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg">NOT Installed</Publish>
      <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish>
    
      <Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
      <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">LicenseAccepted = "1"</Publish>
    
    
      <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">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 AND NOT PATCH</Publish>
      <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="2">Installed AND PATCH</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>
    <Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONROOTDIRECTORY" />
    <UIRef Id="WixUI_Common" />
    <WixVariable Id="WixUILicenseRtf" Value="C:\Data\GIT_workspace\electron\License.rtf" />
<!-- {{Properties}} -->`

and put your License.rtf file under the path specified in WixVariable "WixUILicenseRtf".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants