'错误-2147467259:无法在WiX中创建SQL数据库'
我想在使用WiX 3.6的安装过程中创建数据库。我遵循了很多教程,但我认为我做错了一些事情。'错误-2147467259:无法在WiX中创建SQL数据库'
<?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="{A704CA9E-2833-4276-A8A8-148F1047332F}" Name="DbInstallerTest" Language="1033" Version="1.0.0.0" Manufacturer="Microsoft" UpgradeCode="2de42bd8-acc2-48bf-b3c6-09745d3a2ea4">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="DbInstallerTest" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="DbInstallerTest" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="CMPDbInsatller"
Guid="{1749E57D-9CE4-42F8-924C-2A2E368B51E4}">
<CreateFolder Directory="INSTALLFOLDER"/>
<util:User Id="SqlUser"
Name="sa"
Password="[email protected]"/>
</Component>
<Component Id="cmp2"
Guid="{C3596364-61A0-4628-9153-1BA11DB4B778}">
<CreateFolder Directory="INSTALLFOLDER"/>
<sql:SqlDatabase Id="Id_db"
Database="TestDatabase1"
Server="(local)\SQLExpress"
CreateOnInstall="yes"
User="SqlUser"
DropOnUninstall="yes">
</sql:SqlDatabase>
</Component>
</ComponentGroup>
</Fragment>
</Wix>
上面的代码给出了以下错误。
Error -2147467259: failed to create SQL database: TestDatabase1. error detail: Unknown error.
这里是日志的内容,
=== Logging started: 2/18/2013 11:00:59 ===
Action 11:00:59: INSTALL.
Action start 11:00:59: INSTALL.
Action 11:00:59: FindRelatedProducts. Searching for related applications
Action start 11:00:59: FindRelatedProducts.
Action ended 11:00:59: FindRelatedProducts. Return value 1.
Action 11:00:59: LaunchConditions. Evaluating launch conditions
Action start 11:00:59: LaunchConditions.
Action ended 11:00:59: LaunchConditions. Return value 1.
Action 11:00:59: ValidateProductID.
Action start 11:00:59: ValidateProductID.
Action ended 11:00:59: ValidateProductID. Return value 1.
Action 11:00:59: CostInitialize. Computing space requirements
Action start 11:00:59: CostInitialize.
Action ended 11:00:59: CostInitialize. Return value 1.
Action 11:00:59: FileCost. Computing space requirements
Action start 11:00:59: FileCost.
Action ended 11:00:59: FileCost. Return value 1.
Action 11:00:59: CostFinalize. Computing space requirements
Action start 11:00:59: CostFinalize.
Action ended 11:00:59: CostFinalize. Return value 1.
Action 11:00:59: MigrateFeatureStates. Migrating feature states from related applications
Action start 11:00:59: MigrateFeatureStates.
Action ended 11:00:59: MigrateFeatureStates. Return value 0.
Action 11:00:59: ExecuteAction.
Action start 11:00:59: ExecuteAction.
Action start 11:01:01: INSTALL.
Action start 11:01:01: FindRelatedProducts.
Action ended 11:01:01: FindRelatedProducts. Return value 0.
Action start 11:01:01: LaunchConditions.
Action ended 11:01:01: LaunchConditions. Return value 1.
Action start 11:01:01: ValidateProductID.
Action ended 11:01:01: ValidateProductID. Return value 1.
Action start 11:01:01: CostInitialize.
Action ended 11:01:01: CostInitialize. Return value 1.
Action start 11:01:01: FileCost.
Action ended 11:01:01: FileCost. Return value 1.
Action start 11:01:01: CostFinalize.
Action ended 11:01:01: CostFinalize. Return value 1.
Action start 11:01:01: MigrateFeatureStates.
Action ended 11:01:01: MigrateFeatureStates. Return value 0.
Action start 11:01:01: InstallValidate.
Action ended 11:01:01: InstallValidate. Return value 1.
Action start 11:01:01: RemoveExistingProducts.
Action ended 11:01:01: RemoveExistingProducts. Return value 1.
Action start 11:01:01: InstallInitialize.
Action ended 11:01:01: InstallInitialize. Return value 1.
Action start 11:01:01: ProcessComponents.
Action ended 11:01:01: ProcessComponents. Return value 1.
Action start 11:01:01: UnpublishFeatures.
Action ended 11:01:01: UnpublishFeatures. Return value 1.
Action start 11:01:01: UninstallSqlData.
Action ended 11:01:02: UninstallSqlData. Return value 1.
Action start 11:01:02: RemoveFiles.
Action ended 11:01:02: RemoveFiles. Return value 0.
Action start 11:01:02: RemoveFolders.
Action ended 11:01:02: RemoveFolders. Return value 1.
Action start 11:01:02: CreateFolders.
Action ended 11:01:02: CreateFolders. Return value 1.
Action start 11:01:02: ConfigureUsers.
Action start 11:01:02: CreateUserRollback.
Action ended 11:01:02: CreateUserRollback. Return value 1.
Action start 11:01:02: CreateUser.
Action ended 11:01:02: CreateUser. Return value 1.
Action ended 11:01:02: ConfigureUsers. Return value 1.
Action start 11:01:02: InstallFiles.
Action ended 11:01:02: InstallFiles. Return value 1.
Action start 11:01:02: InstallSqlData.
Action start 11:01:19: CreateDatabase.
Action ended 11:01:19: CreateDatabase. Return value 1.
Action ended 11:01:19: InstallSqlData. Return value 1.
Action start 11:01:19: RegisterUser.
Action ended 11:01:19: RegisterUser. Return value 1.
Action start 11:01:19: RegisterProduct.
Action ended 11:01:19: RegisterProduct. Return value 1.
Action start 11:01:19: PublishFeatures.
Action ended 11:01:19: PublishFeatures. Return value 1.
Action start 11:01:19: PublishProduct.
Action ended 11:01:19: PublishProduct. Return value 1.
Action start 11:01:19: InstallFinalize.
CreateDatabase: Error 0x80004005: failed to create to database: 'TestDatabase1', error:
unknown error
Error 26201. Error -2147467259: failed to create SQL database: TestDatabase1, error detail:
unknown error.
MSI (s) (94!44) [11:01:47:973]: Product: DbInstallerTest -- Error 26201. Error -2147467259:
failed to create SQL database: TestDatabase1, error detail: unknown error.
CustomAction CreateDatabase returned actual error code 1603 (note this may not be 100%
accurate if translation happened inside sandbox)
Action ended 11:01:47: InstallFinalize. Return value 3.
Action ended 11:01:48: INSTALL. Return value 3.
Action ended 11:01:48: ExecuteAction. Return value 3.
Action ended 11:01:48: INSTALL. Return value 3.
=== Logging stopped: 2/18/2013 11:01:48 ===
MSI (c) (C0:94) [11:01:48:208]: Product: DbInstallerTest -- Installation failed.
MSI (c) (C0:94) [11:01:48:209]: Windows Installer installed the product. Product Name:
DbInstallerTest. Product Version: 1.0.0.0. Product Language: 1033. Manufacturer: Microsoft.
Installation success or error status: 1603.
我在做什么错在这里?
Err 26201更有用。您还应该在事件日志中看到更多信息。
您的代码表明您正在SQL实例上使用混合模式并将身份验证用作SQL登录名。这表明问题很可能是您的SQL服务帐户没有权限在默认位置创建MDF和LDF文件。
更多信息请参见本主题:
Error 26201. Error -2147467259: failed to create SQL database
我们周围追逐这个错误了一个星期前最后通过进入SQL Server配置管理器→SQL Server网络配置→协议解决它对于MSSQLSERVER(对于我们来说,默认实例)→启用命名管道和TCP/IP协议。
因此,我的WiX安装程序日志中也出现错误,但稍有不同。
环境:
- 的WebServer =的Windows 2008 R2
- SQLServer的= Windows 2008的32位的SQL Server 2008 R2标准
- 混合模式身份验证
- 默认SQL实例
错误:
ExecuteSqlStrings: Entering ExecuteSqlStrings in C:\Windows\Installer\MSI1EC7.tmp, version 3.6.3303.0
ExecuteSqlStrings: Error 0x80004005: failed to connect to database: 'DatabaseNameBla'
Error 26203. Failed to connect to SQL database. (-2147467259 DatabaseNameBla ) MSI (s) (20!30) [10:16:32:225]: Product: Bla Services -- Error 26203. Failed to connect to SQL database. (-2147467259 DatabaseNameBla )
研究:
- 实例DB似乎只有1.6 GB留在硬盘上。 < <这可能是不好的...
- 我的用户是sysadmin
- 通过SQL管理工具访问对同一个用户没有问题。
- SLQ日志没有任何内容来帮助解决错误。只是噪音。
我的解决方案:
- VM拥有50 GB的免费
- 新的数据库实例的d驱动
- 新实例设置一个d驱动混合模式
- 重新安装。成功!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
摘要:
所以试图找出这笔交易小时后。在此错误的情况下,它与硬盘驱动器的可用空间大小有关。由于SQL Server在生产中,我们无法扩展C驱动器以查看是否修复了默认实例。
我也遇到了这个问题,我浏览了很多论坛来解决这个问题。这是唯一对我有用的东西。在我的电脑时,SQL Server Express版本数据库的创建与 -2147467259失败:无法创建SQL数据库:
After days of hacking I finally found the solution! All you need to do is use .\sqlexpress instead of localhost\sqlexpress or 127.0.0.1\sqlexpress in your connection string. I think (and I might be terribly wrong here) when you use .\sqlexpress in connection string installer uses Shared Memory instead of Named Pipes or TCP/IP.