Wix dostaje wartość ze ścieżek

Hej, tworzę instalator programu, który zależy od innego programu zwanego „visma”. Chcę tylko, aby użytkownik wybrał ścieżkę instalacji.

Że użytkownik musi także określić dwie dodatkowe ścieżki, na których zainstalował visma. a potem chciałbym czytać z tego wejścia do pliku txt lub czegoś innego, aby móc później na zewnątrz czytać ścieżki i kopiować niektóre pliki, których potrzebuję od visma.

tak daleko mam w interfejsie użytkownika instalacja działa i wykonuje swoją pracę

ale nie wiem, jak utworzyć zmienne katalogu potrzebne do zmiany domyślnej ścieżki, którą trzy pola dostają na obrazku

MYInstalldirdlg

*

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
    <UI>
        <Dialog Id="MYInstallDirDlg" Width="370" Height="270" Title="!(loc.InstallDirDlg_Title)">
            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" />
            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
            <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
                <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
            </Control>

            <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" Text="Choose default or your own folder for install and specify visma folders" />
            <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Destination Folders" />
            <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.InstallDirDlgBannerBitmap)" />
            <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
            <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />


            <Control Id="FolderLabel1" Type="Text" X="20" Y="50" Width="290" Height="12" NoPrefix="yes" Text="!(loc.InstallDirDlgFolderLabel)" />
            <Control Id="Folder1" Type="PathEdit" X="20" Y="65" Width="320" Height="18" Property="WIXUI_INSTALLDIR" Indirect="yes" />
            <Control Id="ChangeFolder1" Type="PushButton" X="20" Y="85" Width="56" Height="15" Text="!(loc.InstallDirDlgChange)" />

            <Control Id="FolderLabel2" Type="Text" X="20" Y="110" Width="290" Height="12" NoPrefix="yes" Text="Please specify where your Visma Administration installation folder is:" />
            <Control Id="Folder2" Type="PathEdit" X="20" Y="125" Hidden ="no" Width="320" Height="18" Property="WIXUI_INSTALLDIR" Indirect="yes" />
            <Control Id="ChangeFolder2" Type="Text" X="20" Y="150" Width="56" Height="18" Text="Change..." />

            <Control Id="FolderLabel3" Type="Text" X="20" Y="175" Width="290" Height="22" NoPrefix="yes" Text="Please specify where your SPCS folder is which contains (Företag) and (Gemensamma filer):" />
            <Control Id="Folder3" Type="PathEdit" X="20" Y="195" Hidden ="no" Width="320" Height="18" Property="WIXUI_INSTALLDIR" Indirect="yes" />
            <Control Id="ChangeFolder3" Type="Text" X="20" Y="215" Width="56" Height="18" Text="Change..." />
        </Dialog>
    </UI>
</Fragment>

jak widzicie, wszyscy mają taką samą ścieżkę, jaką otrzymują z mojego kataloguWIXUI_INSTALLDIR

WixUI_MYInstallDir

*

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
    <UI Id="WixUI_MYInstallDir">
        <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" />
        <Property Id="WixUI_Mode" Value="InstallDir" />

        <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[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="MYInstallDirDlg">LicenseAccepted = "1"</Publish>

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

        <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MYInstallDirDlg" 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>

    <UIRef Id="WixUI_MYCommon" />
</Fragment>

tutaj dokonałem tylko niezbędnych zmian, aby to działało: zmieniono na WixUI_MYInstallDir i tak, aby nazwy pasowały

Produkt

*

<!-- Directory 1 (install folder) -->
<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="INSTALLDIR" Name="ITC_Venato" >
    </Directory>
          //componet stuff and files to install
   </Directory>
</Directory>

<Feature
  Id="Venato_Windows_Service_0.904"
  Title="Venato Windows Service"
  Level="1">
  <ComponentRef Id="Venatoexe" />
</Feature>

<!-- Include a user interface-->
<Property Id="WIXUI_INSTALLDIR">INSTALLDIR</Property>
<UIRef Id="WixUI_MYInstallDir" />
<UIRef Id="WixUI_ErrorProgressText" />

uwzględniłem tylko odpowiednie części, ale na zamówienie mam tagi wix i produktów, ale myślę, że muszę utworzyć nowy Id właściwości do moich nowych ścieżek folderów, które chcę.

ale jak to zrobić, aby program po prostu odczytał ścieżki i wysłał je do zmiennej, którą mogę odczytać lub do pliku tekstowego. Nie chcę, aby program tworzył nowy folder, tak jak w przypadku ścieżki instalacyjnej. te powinny być wybierane przez użytkownika, na którym jest Visma, a następnie czytane.

dziękuję za odpowiedzi!

*

*

*

*

błąd

questionAnswers(1)

yourAnswerToTheQuestion