Ответ 1
Как я опубликовал на форумах MSDN, я создал свой собственный пакет, поскольку официальная версия не существует. Пакет в основном представляет собой только копию пакета SqlLocalDB2012
, обновленного, чтобы указать на новую версию файлов msi для загрузки.
Я поместил все файлы для пакета boostrapper на GitHub, чтобы людям не приходилось создавать сами файлы. Там две версии, одна для оригинальной версии и одна для релиза SP1. Ниже приведены шаги по созданию исходной версии версии:
- Создать папку
SqlLocalDB2014
-
Создайте xml файл в папке
product.xml
со следующим содержимым:<?xml version="1.0" encoding="utf-8"?> <Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="Microsoft.SqlServer.SqlLocalDB.12.0"> <InstallChecks> <FileCheck Property="sqllocaldbVersion" FileName="sqlservr.exe" SearchPath="Microsoft SQL Server\120\LocalDB\Binn" SpecialFolder="ProgramFilesFolder" /> </InstallChecks> <PackageFiles CopyAllPackageFiles="false"> <PackageFile Name="x86\sqllocaldb.msi" HomeSite="sqllocaldb_32" PublicKey="3082010A0282010100E57C2F2D0CA9EC7AA834E04C3F7F490E0DB615AD1913DE528A26991571A962270737A5833082626C0BA3FD060D171406E6E0ADCC95960A205AA296E1E057303C5D629BC55D890CD034DFD9D8FA35EF11238BC0F9EB4AF439DA2F7110EB11B32C37A370E886173EEF2A46D08EC7B94800A137F1C7C8E7D21E6B4A2AF2C64C1D709F7CC368428E3CED811A52E33E32943D7E18F19BE44B5C11E4D6C3851E6C033073BCC9A8017D9DADD1F573F05B1A7B2F1F8B32BEB38EB53BD9F7FFF35FB3137C139357B8A05E359883A13434F2C5049FB9FE46170C91DFEF0F55F6ECCC39C96165A129EEBE11371BB76E4255C9CC35D152B303709C98349E2936A917195F0BBF0203010001" /> <PackageFile Name="x64\sqllocaldb.msi" HomeSite="sqllocaldb_64" PublicKey="3082010A0282010100E57C2F2D0CA9EC7AA834E04C3F7F490E0DB615AD1913DE528A26991571A962270737A5833082626C0BA3FD060D171406E6E0ADCC95960A205AA296E1E057303C5D629BC55D890CD034DFD9D8FA35EF11238BC0F9EB4AF439DA2F7110EB11B32C37A370E886173EEF2A46D08EC7B94800A137F1C7C8E7D21E6B4A2AF2C64C1D709F7CC368428E3CED811A52E33E32943D7E18F19BE44B5C11E4D6C3851E6C033073BCC9A8017D9DADD1F573F05B1A7B2F1F8B32BEB38EB53BD9F7FFF35FB3137C139357B8A05E359883A13434F2C5049FB9FE46170C91DFEF0F55F6ECCC39C96165A129EEBE11371BB76E4255C9CC35D152B303709C98349E2936A917195F0BBF0203010001" /> </PackageFiles> <Commands Reboot="Defer"> <Command PackageFile="x86\sqllocaldb.msi" Arguments="IACCEPTSQLLOCALDBLICENSETERMS=YES" EstimatedInstallSeconds="90"> <InstallConditions> <FailIf Property="VersionNT" Compare="ValueNotExists" String="InvalidPlatformOS" /> <FailIf Property="VersionNT" Compare="VersionLessThan" Value="6.0.1" String="InvalidPlatformOS" /> <FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired" /> <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel" /> <BypassIf Property="sqllocaldbVersion" Compare="VersionGreaterThanOrEqualTo" Value="2014.120.2000.8" /> </InstallConditions> <ExitCodes> <ExitCode Value="0" Result="Success" /> <ExitCode Value="1641" Result="SuccessReboot" /> <ExitCode Value="3010" Result="SuccessReboot" /> <DefaultExitCode Result="Fail" String="GeneralFailure" FormatMessageFromSystem="true" /> </ExitCodes> </Command> <Command PackageFile="x64\sqllocaldb.msi" Arguments="IACCEPTSQLLOCALDBLICENSETERMS=YES" EstimatedInstallSeconds="90"> <InstallConditions> <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="amd64" /> <BypassIf Property="sqllocaldbVersion" Compare="VersionGreaterThanOrEqualTo" Value="2014.120.2000.8" /> </InstallConditions> <ExitCodes> <ExitCode Value="0" Result="Success" /> <ExitCode Value="1641" Result="SuccessReboot" /> <ExitCode Value="3010" Result="SuccessReboot" /> <DefaultExitCode Result="Fail" String="GeneralFailure" FormatMessageFromSystem="true" /> </ExitCodes> </Command> </Commands> </Product>
-
В папке создайте еще одну папку под названием
en
и создайте еще один XML файл под названиемpackage.xml
<?xml version="1.0" encoding="utf-8"?> <Package Name="DisplayName" LicenseAgreement="Eula.txt" Culture="Culture" xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"> <PackageFiles> <PackageFile Name="Eula.txt" /> </PackageFiles> <Strings> <String Name="Culture">en</String> <String Name="DisplayName">SQL Server 2014 Express LocalDB</String> <String Name="sqllocaldb_32">http://download.microsoft.com/download/E/A/E/EAE6F7FC-767A-4038-A954-49B8B05D04EB/LocalDB%2032BIT/SqlLocalDB.msi</String> <String Name="sqllocaldb_64">http://download.microsoft.com/download/E/A/E/EAE6F7FC-767A-4038-A954-49B8B05D04EB/LocalDB%2064BIT/SqlLocalDB.msi</String> <String Name="AdminRequired">You do not have the permissions required to install SQL Server 2014 Express LocalDB. Please contact your administrator.</String> <String Name="GeneralFailure">An error occurred attempting to install SQL Server 2014 Express LocalDB.</String> <String Name="InvalidPlatformOS">The current operating system version does not support SQL Server 2014 Express LocalDB.</String> <String Name="InvalidPlatformOSServicePack">The current operating system does not meet Service Pack level requirements for SQL Server 2014 Express LocalDB. Install the most recent Service Pack from the Microsoft download center at http://www.microsoft.com/downloads before continuing setup.</String> </Strings> </Package>
-
Скопируйте файл
C:\Program Files\Microsoft SQL Server\120\License Terms\License_SqlLocalDB_1033.txt
в папкуen
и переименуйте его вeula.txt
. - Чтобы установить пакет, скопируйте папку
SqlLocalDB2014
туда, где расположены ваши другие пакеты начальной загрузки.C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages
- Теперь вы можете использовать пакет из Visual Studio, однако, если вы хотите, чтобы компонент был установлен из того же места, что и ваше приложение, вам нужно загрузить два файла
sqllocaldb.msi
, указанные вpackage.xml
и поместите их в папкиx86
иx64
внутри папкиSqlLocalDB2014
. - Наконец, этот пакет предназначен только для английского языка, но вы можете поддерживать несколько языков, добавляя папки для каждого языка с файлами
package.xml
иeula.txt
.