2011-03-08 42 views
3

我正在與維克斯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安裝程序給我一個錯誤:

Could not access network location [%ProgramFilesFolder]\PROGRAM 

我需要能夠妥善處理這個問題,但是......我該如何從錯誤中恢復?

回答

1

隨着科斯明的幫助下,我找到了解決辦法:

我不得不這樣做是爲了不設置Value,所以它不會試圖找到該文件夾​​......一切完美!

+0

對,你不能在' not FIND_INSTALLDIR來設置默認值。 – Hasso 2017-12-08 15:55:08

2

也許這將幫助你: Detecting the presence of a directory at install time

基本上,你需要確保你正在使用的DLL文件夾的屬性設置爲一個有效的路徑,即使不會安裝的DLL(的實際路徑未找到)。

+0

嗯......是的,我會試試,我不確定它會不會幫助,但看起來不錯。謝謝。 – Mehrdad 2011-03-08 19:02:19

+0

呃 - 鏈接有幫助,但不是你提到的方式。 :)我所要做的就是*不*設置'價值'......一切都完美無缺! – Mehrdad 2011-03-08 23:32:33

+0

+1,因爲這對我有幫助,但由於它不是解決方案,所以我不能真正接受答案。雖然謝謝! :) – Mehrdad 2011-03-09 04:33:39