2013-01-04 21 views
5

Opracowałem projekt .net i teraz robię instalator. Mój projekt wymaga Microsoft SQL 2008 lub Microsoft SQL 2008 Express. Stworzyłem Bootstrapper, który instaluje Microsoft SQL 2008 Express i działa dobrze, z wyjątkiem sytuacji, gdy ktoś ma już zainstalowany Microsoft SQL 2008. Jak mogę ominąć instalację, jeśli Microsoft SQL 2008 jest już zainstalowany?Pominięcie instalacji SQLExpress, jeśli wystąpi serwer Microsoft SQL Server

Edit: To rozwiązanie działa na 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> 

Odpowiedz

3

Szczerze mówiąc nie jestem ekspertem w tym, co próbujesz zrobić. Ale czy raport wykrywania serwera SQL zadziałałby dla ciebie? : SQL server discovery report

lub

determine-installed-sql-server-instances

Edit:

myślałem o czymś takim:

<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

Nie jestem pewien, czy to może być używane z inicjującego, bootstrapper zawiera plik xml, który zawiera reguły instalacji. Muszę wiedzieć, jak stworzyć regułę, która spełnia to, o co prosiłem. Inną rzeczą może być, że ktoś nie skonfigurował tej funkcji. – jsaye

+0

Co powiesz na to: http://stackoverflow.com/questions/10309861/how-to-force-sqlexpresschk-exe-from-bootstrapper-to-check-for-other -instance-tha? –

+0

Przeczytałem, ale zgadzam się z PO. To nie rozwiązuje problemu w czasie instalacji. Wskazówka może być ze znacznikiem (z odpowiednią wartością właściwości) lub ze znacznikiem , ale jeszcze tego nie rozgryzłem. Dzięki za twój wysiłek!! – jsaye