我正在尝试使用VS2010中的Visual Studio安装项目安装库DLL。安装程序必须将DLL安装到Target Application文件夹中,并将DLL安装到安装的每个MS SQL Server Reporting Services实例的相应文件夹中。
即。如果安装了SQL 2008报告服务,则应另外将DLL安装到[ProgramFiles64Folder] \ Microsoft SQL Server \ MSRS10.MSSQLSERVER ... \ bin。
如果还安装了SQL 2012 Reporting Services,则还应将DLL安装到[ProgramFiles64Folder] \ Microsoft SQL Server \ MSRS10.MSSQLSERVER ... \ bin等。
如果系统上安装了相应版本的SQL Server,我只想将DLL安装到相应的文件夹中。
我尝试使用注册表搜索来查找MSRS * .MSSQLSERVER密钥,但这些密钥没有添加到Wow6432Node,我找不到让安装程序只查看64的方法-bit节点(为Any CPU和x64构建 - 最终都在Wow6432Node中查找)。
我也尝试使用文件搜索,但在查找目录而不是文件时,无法使其工作。
有没有简单的方法来做这个决定?如果所述目标文件夹已存在,只能将文件安装到目标文件夹?
答案 0 :(得分:0)
生成MSI文件的安装项目(Windows Installer)不执行目录搜索,只执行文件,注册表和安装程序组件guid搜索。如果您知道这些设置中的代表性文件的安装程序组件,则可以搜索具有Windows Installer搜索的那些文件,并设置一个属性集,告诉您它们是否已安装。