我想用WIX安裝數據庫。錯誤0x80004005當我試圖用WIX安裝數據庫
我已經在Windows7(32位)上安裝了SQL Server 2008 express。在此安裝上,TCP/IP已啓用,SQL Server服務正在運行。
我對SQL Server使用SQL Server和Windows身份驗證。我在代碼中都嘗試過 - 我在組件中添加了一個用戶。
的代碼非常簡單:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:sql="http://schemas.microsoft.com/wix/SqlExtension">
<Product Id="*" Name="NewDatabaseInstaller" Language="1033"
Version="1.0.0.0" Manufacturer="My Company"
UpgradeCode="17ef693b-3ab5-4788-a6b5-70eeabc13497">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />
<Feature Id="ProductFeature" Title="NewDatabaseInstaller" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="NewDatabaseInstaller" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="cmpSqlDatabase" Guid="{F950605D-AA59-43E6-AB19-9452F6BEC649}" KeyPath="yes">
<sql:SqlDatabase Id="sqlDatabase_MyDatabase" Server="localhost"
Instance="MSSQLSERVER" Database="MyDatabase"
CreateOnInstall="yes" DropOnUninstall="yes"
ContinueOnError="no" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>
我在管理中的工作室錄音此查詢過的實例名稱:
SELECT @@servicename
但是,我得到一個錯誤:
CreateDatabase: Error 0x80004005: failed to create to database: 'MyDatabase', error: unknown error
Error 26201. Error -2147467259: failed to create SQL database: MyDatabase, error detail: unknown error.
MSI (s) (FC!74) [17:43:27:786]: Product: Test -- Error 26201. Error -2147467259: failed to create SQL database: MyDatabase, 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 17:43:27: InstallFinalize. Return value 3.
我錯過了什麼嗎?
謝謝!
錯誤0x80004005是'訪問被拒絕'。驗證運行安裝的帳戶在SQL Server中是否有足夠的權限來創建數據庫。 –
嗨@YanSklyarenko,謝謝你的回答。我爲用戶添加了 '並更新了sql:SqlDatabase。我試圖用用戶sa在localhost上登錄管理工作室。我可以登錄並運行查詢,但我仍然有錯誤。用戶(我的本地用戶和sa用戶有sysadmin角色) –
Bob
任何想法?我使用SQL事件探查器,但我沒有收到任何數據......我用sysadmin用戶,爲什麼訪問被拒絕? – Bob