WIXでデータベースをインストールしようとしています。WIXでデータベースをインストールしようとしたときに0x80004005エラーが発生しました
私はすでに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>
:
:しかし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.
SELECT @@servicename
、私はエラーを取得します
私は何かを見逃しましたか?
ありがとうございます!
エラー0x80004005は「アクセス拒否」です。データベースを作成するには、インストールを実行しているアカウントでSQL Serverに十分な権限があることを確認します。 –
こんにちは@YanSklyarenko、あなたの答えに感謝します。 ' 'を追加し、ユーザーにsql:SqlDatabaseを更新しました。私はユーザーsaとlocalhost上の管理スタジオにログインしようとしました。ログインしてクエリを実行できますが、まだエラーがあります。ユーザー(私のローカルユーザーとsaユーザーにはsysadminの役割があります) –
Bob
私はSQLプロファイラを使用しましたが、私はデータを受け取りませんでした...私はsysadminでユーザを使用しました。なぜアクセスが拒否されましたか? – Bob