WIX浏览对话框失败,错误2727目录不在目录表中

时间:2015-10-30 20:46:38

标签: wix wix3

我正在使用WIX默认的BrowseDlg来捕获要插入到web.config文件中的值。我正在使用我在很多地方看过的代码。

<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:

  

目录条目&#39; [2]&#39;目录表中不存在。

我得到的值表示已经安装在系统上的数据文件的位置。除了作为写入web.config的字符串值之外,此位置与安装程序无关。如果我不使用BrowseDlg并只在我的自定义对话框的文本框中输入一个字符串,一切正常,但如果我使用BrowseDlg,我会收到此错误。

现有数据文件的位置可以是网络上的任何位置,因此我不知道如何在目录表中建立引用。

我可以做些什么来使BrowseDlg满意?

1 个答案:

答案 0 :(得分:0)

我只想提供适合我的修复程序。我有同样的问题,但在wix中使用默认目录浏览器。

我的问题是我的“WIXUI_INSTALLDIR”属性不是“TARGETDIR”。基本上,从我猜测的“目录表”必须引用由Directory标记创建的目录。

例如:

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

以下修正了我的问题

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