WIX를 사용하여 데이터베이스를 설치하는 동안 dacpac을 배포해야합니다. 내가WIX를 사용하여 설치 프로그램을 만드는 동안 sqlpackage.exe (종속 DLL이 거의 없음)를 실행하십시오.
<Binary Id="Microsoft.Data.Tools.Schema.Sql.dll" SourceFile="..\DeployDBs\DAC\Microsoft.Data.Tools.Schema.Sql.dll"/>
<Binary Id="Microsoft.Data.Tools.Schema.Tasks.Sql.11.dll" SourceFile="..\DeployDBs\DAC\Microsoft.Data.Tools.Schema.Tasks.Sql.11.dll"/>
<Binary Id="Microsoft.Data.Tools.Schema.Utilities.Sql.11.dll" SourceFile="..\DeployDBs\DAC\Microsoft.Data.Tools.Schema.Utilities.Sql.11.dll"/>
<Binary Id="Microsoft.Data.Tools.Utilities.dll" SourceFile="..\DeployDBs\DAC\Microsoft.Data.Tools.Utilities.dll"/>
<Binary Id="Microsoft.SqlServer.Dac.dll" SourceFile="..\DeployDBs\DAC\Microsoft.SqlServer.Dac.dll"/>
<Binary Id="SqlPackage" SourceFile="..\DeployDBs\DAC\SqlPackage.exe"/>
<Binary Id="SqlPackage.exe.config" SourceFile="..\DeployDBs\DAC\SqlPackage.exe.config"/>
을 다음과 같이 이진 태그를 사용하여 그리고
를 다음과 같이 사용자 지정 작업을 사용하여 SqlPackage.exe를 호출 필요한 EXE 및 DLL을 내장 한 있도록 목적을 위해, 나는 필요한 스위치 SQLPackage.exe 명령을 실행하는 것으로 간주 한<CustomAction Id="DeployMyDb" BinaryKey="SqlPackage"
ExeCommand="/a:publish /sf:"MyDacpac.dacpac" /tsn:localhost /tdn:MyDb"
Execute="immediate" />
사용자 지정 작업은 dacpac가 배포
<InstallExecuteSequence>
<Custom Action="DeployMyDb" After="InstallFinalize"/>
</InstallExecuteSequence>
</Product>
을 다음과 같이 순서가 'InstallFinalize를'후 실행하는 것입니다 (사용자 지정 작업이 실행되는 IE) 임베디드 바이너리 중 하나 인 어셈블리 인 'Microsoft.Data.Tools.Utilities'에 대해 'FileNotFoundException'을 발생시킵니다.
이 exe를 실행하려면 수행해야 할 단계가 없거나 추가 사항에 대해 조언하십시오.
당신은 어떻게 위로 SqlPackage.exe를 내장 바람습니까? –
사용자 지정 작업 프로젝트. 관련된 다른 바이너리뿐만 아니라 SqlPackage.exe도 임베드되었습니다. – yash