3

我正在使用 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

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

4

2 回答 2

2

也许这会对您有所帮助: 在安装时检测目录的存在

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

于 2011-03-08T08:02:36.443 回答
1

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

我所要做的就是设置Value,这样它就不会试图找到文件夹......其他一切都很好!

于 2011-03-09T04:34:12.823 回答