我正在使用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满意?
答案 0 :(得分:0)
我只想提供适合我的修复程序。我有同样的问题,但在wix中使用默认目录浏览器。
我的问题是我的“WIXUI_INSTALLDIR”属性不是“TARGETDIR”。基本上,从我猜测的“目录表”必须引用由Directory标记创建的目录。
例如:
<Directory Id="TARGETDIR" Name="SourceDir">
以下修正了我的问题
<Property Id="WIXUI_INSTALLDIR" Value="TARGETDIR" />