WiX Property:目录搜索:“无法访问网络位置”

时间:2011-03-08 03:12:27

标签: wix windows-installer wix3.5

我正在使用WiX 3.5工具集制作安装程序,我遇到了一个问题:

安装程序需要能够检测是否存在其他程序,如果存在,则在其目录中添加DLL文件。我使用以下代码来确定第二个程序的安装位置:

<Property Id="FIND_INSTALLDIR" Value="[%ProgramFilesFolder]\PROGRAM">
    <RegistrySearch
        Id="INSTALLDIRSearch"
        Root="HKLM"
        Name="UninstallString"
        Type="file"
        Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\PROGRAM"
    />
</Property>

问题是,如果第二个程序未安装,Windows Installer会给我一个错误:

Could not access network location [%ProgramFilesFolder]\PROGRAM

我需要能够优雅地处理这个问题,但是......如何从错误中恢复?

2 个答案:

答案 0 :(得分:2)

也许这会对你有所帮助: Detecting the presence of a directory at install time

基本上,您需要确保将用于DLL文件夹的属性设置为有效路径,即使未安装DLL(未找到实际路径)。

答案 1 :(得分:1)

在Cosmin的帮助下,我找到了解决方案:

我所要做的就是设置Value,这样它就不会尝试找到文件夹......其他一切都完美无缺!