2014-02-07 143 views
0

我試圖在VS2010中安裝使用Visual Studio安裝項目的DLL庫。安裝程序必須將該DLL安裝到目標應用程序文件夾中,並將該DLL安裝到每個安裝的MS SQL Server Reporting Services實例的相應文件夾中。Visual Studio安裝項目 - 檢查目錄是否存在

即,如果安裝了SQL 2008報告服務,則應另外將該DLL安裝到[ProgramFiles64Folder] \ Microsoft SQL Server \ MSRS10.MSSQLSERVER ... \ bin。

如果SQL 2012報表服務也被安裝,則DLL也應該被安裝到[ProgramFiles64Folder] \ Microsoft SQL Server的\ MSRS10.MSSQLSERVER ... \ BIN等

我想只安裝將該DLL插入到相應的文件夾中,如果系統上安裝了相應版本的SQL Server。

我曾嘗試使用註冊表搜索來查找MSRS * .MSSQLSERVER鍵,但這些鍵未添加到Wow6432Node,而且我找不到一種方法使安裝程序僅在64位節點(爲任何CPU和x64構建 - 都以Wow6432Node結尾)。

我也嘗試過使用文件搜索,但是當找到目錄而不是文件的存在時無法使其工作。

有沒有簡單的方法來做這個決定?如果目標文件夾已經存在,只將文件安裝到目標文件夾?

回答

0

安裝生成MSI文件的項目(Windows安裝程序)不執行目錄搜索,只執行文件,註冊表和安裝程序組件guid搜索。如果您知道這些設置的代表性文件的安裝程序組件,您可以使用Windows Installer搜索搜索那些文件,並設置一個屬性集,告訴您它們是否已安裝。