2015-10-30 51 views
0

我正在使用WIX默認BrowseDlg捕獲要插入到web.config文件中的值。我正在使用我在很多地方看到的代碼。WIX瀏覽對話框失敗,錯誤2727目錄不在目錄表中

<Control Id="btnDirBrowse" Type="PushButton" Width="56" Height="17" X="260" Y="57" 
      Text="!(loc.DataDialog.BrowseCaption)" > 
    <Publish Property="_BrowseProperty" Value="DATALOCATION" Order="1">1</Publish> 
    <Publish Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish> 
</Control> 

我的問題是,當我瀏覽到一個文件位置後,點擊確定,我得到錯誤2727:

的目錄項「[2]」沒有在目錄表中存在。

我收到的值代表已安裝在系統上的數據文件的位置。除了作爲寫入web.config的字符串值以外,此位置與安裝程序無關。如果我不使用BrowseDlg,只需在自定義對話框的文本框中輸入一個字符串,則一切正常,但如果我使用BrowseDlg,則會出現此錯誤。

現有數據文件的位置可能在網絡上的任何位置,所以我不知道如何在Directory表中建立引用。

我該怎麼做才能讓BrowseDlg開心?

+0

這個隨時隨地獲取? – johnstaveley

+0

@johnstaveley我的客戶甩掉了Wix for FinalBuilder – pthalacker

回答

0

我只是想提供一個解決方案,爲我工作。我遇到了同樣的問題,但使用wix中的默認目錄瀏覽器。

我的問題是,我的「WIXUI_INSTALLDIR」屬性是「TARGETDIR」以外的東西。實質上,從我猜測的「目錄表」必須引用由目錄標記創建的目錄。

例如:

<Directory Id="TARGETDIR" Name="SourceDir"> 

下面固定我的問題

<Property Id="WIXUI_INSTALLDIR" Value="TARGETDIR" />