如果存在Microsoft SQL Server实例,则绕过SQLExpress的安装

jsa*_*aye 5 .net windows installer windows-installer bootstrapper

我已经开发了一个.net项目,现在我正在做安装程序.我的项目需要Microsoft SQL 2008或Microsoft SQL 2008 Express.我已经创建了一个安装Microsoft SQL 2008 Express的Bootstrapper,除非有人安装了Microsoft SQL 2008,否则它可以正常工作.如果已安装Microsoft SQL 2008,我该如何绕过安装?

编辑: 此解决方案适用于Microsoft SQL 2008:

<Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="AAA">
   <InstallChecks>
      <RegistryCheck Property="IsInstalled" Key="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" Value="SQL2008" />
   </InstallChecks>

   <Commands Reboot="Defer">
      <Command PackageFile="setup.exe" EstimatedInstallSeconds="15" >
         <InstallConditions>
            <BypassIf Property="IsInstalled" Compare="ValueExists" />
         </InstallConditions>
      </Command>
   </Commands>

   ...

</Product>
Run Code Online (Sandbox Code Playgroud)

Kev*_*cks 3

老实说,我不是你想做的事情的专家。但是 SQL Server 发现报告对您有用吗?:SQL Server发现报告

或者

确定安装的 sql 服务器实例

编辑:

我在想这样的事情:

<Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="AAA">
   <InstallChecks>
      <RegistryCheck Property="IsInstalled" Key="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names" Value="SQL" />
   </InstallChecks>

   <Commands Reboot="Defer">
      <Command PackageFile="setup.exe" EstimatedInstallSeconds="15" >
         <InstallConditions>
            <BypassIf Property="IsInstalled" Compare="ValueExists" />
         </InstallConditions>
      </Command>
   </Commands>

   ...

</Product>
Run Code Online (Sandbox Code Playgroud)