2013-01-04 26 views
5

Tôi đã phát triển một dự án .net và hiện đang thực hiện trình cài đặt. Dự án của tôi yêu cầu Microsoft SQL 2008 hoặc Microsoft SQL 2008 Express. Tôi đã tạo một Bootstrapper cài đặt Microsoft SQL 2008 Express và nó hoạt động tốt trừ khi ai đó đã cài đặt Microsoft SQL 2008. Làm thế nào tôi có thể bỏ qua cài đặt nếu Microsoft SQL 2008 đã được cài đặt?Cài đặt bỏ qua SQLExpress nếu có một phiên bản Microsoft SQL Server

Edit: Giải pháp này làm việc cho 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> 

Trả lời

3

Thành thật mà nói tôi không phải là một chuyên gia trong những gì bạn đang cố gắng làm. Nhưng báo cáo khám phá máy chủ SQL có phù hợp với bạn không? : SQL server discovery report

hoặc

determine-installed-sql-server-instances

Edit:

Tôi đã suy nghĩ về một cái gì đó như:

<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

Tôi không chắc chắn nếu điều này có thể được sử dụng với bootstrapper, các bootstrapper chứa một tệp xml có các quy tắc để cài đặt. Tôi cần phải biết cách tạo ra một quy tắc, điều đó làm những gì tôi hỏi. Một điều nữa, có thể ai đó đã không thiết lập tính năng này. – jsaye

+0

Làm thế nào về điều này: http://stackoverflow.com/questions/10309861/how-to-force-sqlexpresschk-exe-from-bootstrapper-to-check-for-other-instance-tha? –

+0

Tôi đã đọc nó, nhưng tôi đồng ý với OP. Điều này không giải quyết được vấn đề khi cài đặt. Các đầu mối có thể với thẻ (với giá trị thuộc tính thích hợp) hoặc với thẻ nhưng tôi chưa tìm ra. Cảm ơn vì nỗ lực của bạn !! – jsaye

Các vấn đề liên quan