我正在使用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
我需要能够优雅地处理这个问题,但是......如何从错误中恢复?
答案 0 :(得分:2)
也许这会对你有所帮助: Detecting the presence of a directory at install time
基本上,您需要确保将用于DLL文件夹的属性设置为有效路径,即使未安装DLL(未找到实际路径)。
答案 1 :(得分:1)
在Cosmin的帮助下,我找到了解决方案:
我所要做的就是不设置Value
,这样它就不会尝试找到文件夹......其他一切都完美无缺!