У меня есть проект Wix Toolset, которому необходимо установить базу данных в существующую установку SqlServer 2014 LocalDb, и мне это не удалось. Я много искал на SO, а также на других сайтах примеры или предложения, которые могут быть применимы. До сих пор я не нашел ничего, что работает в моем проекте.
Локальная база данных SqlServer уже установлена в системе, и к ней можно получить доступ из SQL Mgmt Studio. Все системные базы данных отображаются, как и ожидалось, и я могу создать новую базу данных в Mgmt Studio.
Текстовый файл, который я включаю в качестве теста, правильно устанавливается в ожидаемую папку.
Ошибка, которую я получаю, зависит от того, какие параметры я определяю в элементе SqlDatabase.
Из журнала установщика:
Действие 11:46:34: CreateFolders. Создание папок
CreateFolders: Папка: C:\Check\Database\
CreateFolders: Папка: C:\Check\Database\
Действие 11:46:34: InstallFiles. Копирование новых файлов
Файлы установки: Файл: TestFile.txt, Каталог: C:\Check\Database\, Размер: 19
Действие 11:46:34: CreateDatabase. Создание баз данных
CreateDatabase: ошибка 0x80004005: не удалось создать базу данных SQL, но продолжающаяся ошибка: неизвестная ошибка, база данных: проверьте
Действие 11:46:51: RegisterProduct. Регистрация продукта
Файл wxs для этой установки:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util='http://schemas.microsoft.com/wix/UtilExtension'
xmlns:sql='http://schemas.microsoft.com/wix/SqlExtension'>
<Product Id="*" Name="Ach Check Database Installation" Language="1033" Version="1.0.0.0" Manufacturer="ACH Solutions" UpgradeCode="3828eaf7-528f-4006-9169-27bed44e79fe">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes"/>
<Feature Id="CheckDb" Title="Check Database" Description="The Check Database" ConfigurableDirectory="INSTALLDIR" Level="1">
<ComponentGroupRef Id="DatabaseComponents" />
</Feature>
<UIRef Id="WixUI_Mondo" />
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="INSTALLDIR" Name="CheckDir" >
<Directory Id="DatabaseFolder" Name="Database" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="DatabaseComponents" Directory="DatabaseFolder">
<Component Id='SqlComponent' Guid='53234257-65F1-4D58-B2CA-90308EC102FF'>
<CreateFolder />
<File Id="file_TestFile.txt" Source="E:\TestFile.txt"/>
</Component>
<Component Id="sql_SqlDatabase" Guid="B4D9CB63-B740-4860-89B6-1209D9A1A18E">
<CreateFolder/>
<sql:SqlDatabase Id='SqlDatabase'
Database='Check'
CreateOnInstall='yes'
Server='localhost\(localdb)\MsSqlLocalDb'
DropOnUninstall='no'
ContinueOnError='yes'>
<sql:SqlFileSpec Id='sql_CheckDatabase' Filename='CheckDatabase.mdb' Name='CheckDatabase' Size='30MB' />
<sql:SqlLogFileSpec Id='sql_CheckDatabase_Log' Filename='CheckDatabase_Log.ldb' Name='CheckDatabaseLog' Size='3MB' />
</sql:SqlDatabase>
</Component>
</ComponentGroup>
</Fragment>
</Wix>
Кто-нибудь сталкивался с этой проблемой или чем-то подобным раньше? Каково было решение?
Я приветствую любые предложения, которые могут помочь в этом.
Спасибо,
Евгений