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>
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
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? –
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