Wix: проблема при создании базы данных с атрибутами SqlFileSpec и SqlLogFileSpec Filename, установленными в каталоге c: \ Program Files - PullRequest
0 голосов
/ 03 августа 2011

У меня проблема с созданием базы данных с атрибутами SqlFileSpec и SqlLogFileSpec Filename, установленными в каталоге c: \ Program Files. Я также проверил, что папка (C: \ Program Files \ TestProject) уже создана. Кто-нибудь знает как это решить?

Это ошибка: Ошибка 26201. Ошибка -2147217900: не удалось создать базу данных SQL: MyDatabase, подробное описание ошибки: сбой CREATE DATABASE. Некоторые имена файлов не могут быть созданы. Проверьте связанные ошибки ..

       <sql:SqlFileSpec Id="Mdf" Name="MyDatabase_Mdf" Filename="['INSTALLLOCATION']\MyDatabase.mdf" Size="3072KB" MaxSize="UNLIMITED" GrowthSize="1024KB"/>
                  <sql:SqlLogFileSpec Id="Ldf"  Name="MyDatabase_log"  Filename="['INSTALLLOCATION']\MyDatabase_log.ldf" Size="2048KB" MaxSize="2048GB"  GrowthSize="10%"/>

...


    <Property Id='INSTALLLOCATION'>C:\Program Files\TestProject</Property>

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 03 августа 2011

Кавычки вокруг INSTALLLOCATION должны быть удалены - используйте только [INSTALLLOCATION].И убедитесь, что упомянутые файлы (mdf / ldf) находятся там к моменту запуска действия.Не забывайте, что подробный журнал - ваш друг здесь.

0 голосов
/ 22 июня 2017

Мне удалось исправить проблему, используя «. \ SQLExpress2012» вместо «[MachineName] \ SQLExpress2012» или «[ipAddress] \ SQLExpress2012». Я могу только предположить, что, выполнив первое, вы можете не использовать метод соединения TCP / IP и использовать именованные каналы.

Также вы можете проверить свою конфигурацию SQL Server и убедиться, что ваш экземпляр сервера поддерживает эти методы подключения.

0 голосов
/ 03 августа 2011

Попробуйте это

<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 Name='SQL app 1.0' Id='DB501C18-86C7-4D14-AEC0-86416A69ABDE' Language='1033' Codepage='1252'
     Version='1.0.0' Manufacturer='ABC Ltd.'>
            <Package Id='????????-????-????-????-????????????' Keywords='Installer' Description="SQL App 1.0 Installer"
              Comments='Comment.' Manufacturer='ABC Ltd.' InstallerVersion='100'
              Languages='1033' Compressed='yes' SummaryCodepage='1252' />
        <Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' />
        <User Id="MySQLUser" Name="[SQLUSER]" Password="[SQLUSERPASSWORD]"></User>
        <Directory Id='TARGETDIR' Name='SourceDir'>
            <Directory Id='ProgramFilesFolder' Name='PFiles'>
                <Directory Id='INSTALLDIR' Name='TestSQL'>
                      <Component Id="MySqlComponent" Guid="C50999A0-02FD-42d5-9F65-7375318DD328">
                        <SqlDatabase Id="MySqlDatabase" Database="MyDatabase" Server="[SQLSERVER]" Instance="[SQLINSTANCE]"
                            CreateOnInstall="yes" DropOnUninstall="yes" User="MySQLUser" ContinueOnError="yes">
                              <SqlScript Id="CreateDatabase" ExecuteOnInstall="yes" BinaryKey="CreateTablesBin"></SqlScript>
                        </SqlDatabase>
                      </Component>
                </Directory>
             </Directory>
         </Directory>
        <Binary Id="CreateTablesBin" src="CreateDatabase.sql"></Binary>
        <Feature Id='Complete' Level='1' Description="Full" Title="Full Installation">
            <ComponentRef Id='MySqlComponent' />
        </Feature>
    </Product>
</Wix>

Файл CreateDatabase.sql будет содержать скрипт для выполнения какого-либо скрипта, создания базы данных и т. Д.

...