2013-01-04 34 views
5

我开发了一个.net项目,现在我正在执行安装程序。我的项目需要Microsoft SQL 2008或Microsoft SQL 2008 Express。我已经创建了一个安装Microsoft SQL 2008 Express的引导程序,除非有人安装了Microsoft SQL 2008,否则它工作正常。如果已安装Microsoft SQL 2008,我该如何绕过安装?如果有Microsoft SQL Server的实例,绕过SQLExpress的安装

编辑: 该解决方案适用于微软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> 

回答

3

说实话,我不是你的努力做一个专家。但是,SQL Server发现报告会为你工作吗? :SQL server discovery report

determine-installed-sql-server-instances

编辑:

我在想是这样的:

<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> 
+0

我不知道这是否会与引导程序一起使用时, bootstrapper包含一个具有安装规则的xml文件。我需要知道如何制定规则,这就是我所要求的。另一件事,可能是有人没有设置这个功能。 – jsaye

+0

这个如何:http://stackoverflow.com/questions/10309861/how-to-force-sqlexpresschk-exe-from-bootstrapper-to-check-for-other-instance-tha? –

+0

我读过它,但我同意OP。这并不能解决安装时的问题。线索可能与标签(具有适当的属性值)或标签,但我还没有弄明白。谢谢你的努力!! – jsaye

相关问题