2011-08-22 15 views
5

Possiedo un InstallDirDLG e ho bisogno di un'altra finestra di dialogo di esplorazione, il problema è quando seleziono il percorso nella seconda finestra di dialogo Sfoglia anche il percorso di installazione.BrowseDialog e InstallDirDlg wix

Questo è il codice di controllo:

<Control Id="IISLogDirectoryEdit" Type="PathEdit" X="45" Y="100" Width="220" Height="18" Disabled="yes" Property="IISLOGDIRECTORY" Indirect="yes" /> 
<Control Id="IIsLogDirectoryExplorer" Type="PushButton" X="267" Y="100" Width="56" Height="18" Text="Explorar..." /> 

e questa è la pubblicazione:

<Publish Dialog="DirectoriesDlg" Control="Next" Event="SetTargetPath" Value="[IISLOGDIRECTORY]" Order="1">1</Publish> 
<Publish Dialog="DirectoriesDlg" Control="Next" Event="SpawnDialog" Value="InvalidDirDlg" Order="2"><![CDATA[NOT IISLOGDIRECTORY]]></Publish> 
<Publish Dialog="DirectoriesDlg" Control="Next" Event="NewDialog" Value="FtpDlg" Order="3">1</Publish> 
<Publish Dialog="DirectoriesDlg" Control="IIsLogDirectoryExplorer" Property="_IISBrowseProperty" Value="[IISLOGDIRECTORY]" Order="1">1</Publish> 
<Publish Dialog="DirectoriesDlg" Control="IIsLogDirectoryExplorer" Event="SpawnDialog" Value="IISBrowseDlg" Order="2">1</Publish> 

Grazie.

+0

Alcuni frammenti di il codice che utilizzi ti aiuterà sicuramente a rispondere a questo ... –

+0

Penso che il problema è che la proprietà IISLOGDIRECTORY di default ha percorso di installazione, ma se metto un altro er valore predefinito genera un errore che il percorso non esiste nella tabella di directory – camaya

risposta

8

Usa nome di proprietà diversa per la seconda finestra di ricerca e impostare che il valore della proprietà in una certa posizione predefinita

Ad esempio:

<Control Id="TestPathEdit"  Type="PathEdit" X="120" Y="157" Width="160" Height="18" Property="TESTPROPERTY"/> 
    <Control Id="TestBrowse" Type="PushButton" X="290" Y="157" Width="56" Height="17" Text="Browse"> 
     <Publish Property="_BrowseProperty" Value="TESTPROPERTY" Order="1">1</Publish> 
     <Publish Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish>  
    </Control> 

e il valore della proprietà di default

<Property Id="TESTPROPERTY" Value="C:\Test"/> 
+0

Ho provato questo e quando selezionare il percorso ottengo errore 2727: Una proprietà viene utilizzata come il percorso di destinazione di un componente, ma quella proprietà non esiste nella tabella Directory. – camaya

+4

@ Caotz: l'errore è dovuto al fatto che potresti non avere la voce per il valore TESTPROPERTY nella struttura di directory nel file wxs principale (es. Product.wxs) Aggiungi la voce per questa proprietà e prova .... Esempio: vinay

+0

Ho pensato quando aggiungere una directory nella struttura delle directory, creato una directory vuota, ma non è così. Ora funziona perfettamente, grazie! – camaya