2012-06-06 4 views
2

2 개의 sql 스크립트가 있습니다. 하나는 새로 설치용이고 다른 하나는 업데이트 용입니다. 이 설치 관리자가 데이터베이스의 존재 여부를 자동으로 확인하도록합니다.조건부로 wix에서 SQL 스크립트를 실행하는 방법

의사 코드 :

IF (database exists) 
{ 
    call 'UpdateDatabase' script 
} 
ELSE 
{ 
    call 'CreateDatabase' script 
} 

Product.wxs

<sql:SqlDatabase Id='SqlDatabase' Database='master' Server='.' 
    CreateOnInstall='yes' DropOnUninstall='no' ContinueOnError='yes'> 
    <sql:SqlScript Id='CreateDatabase' BinaryKey='CreateDatabase' ExecuteOnInstall='yes' /> 
    <sql:SqlScript Id='UpdateDatabase' BinaryKey='UpdateDatabase' ExecuteOnInstall='yes' /> 
</sql:SqlDatabase> 

답변

3

알겠습니다. ExecuteOnReinstall입니다. 예상대로 작동합니다.

<sql:SqlDatabase Id='SqlDatabase' Database='master' Server='.' 
    CreateOnInstall='yes' DropOnUninstall='no' ContinueOnError='yes'> 
    <sql:SqlScript Id='CreateDatabase' BinaryKey='CreateDatabase' ExecuteOnInstall='yes' /> 
    <sql:SqlScript Id='UpdateDatabase' BinaryKey='UpdateDatabase' ExecuteOnReinstall='yes' /> 
</sql:SqlDatabase> 
1

현재 나는이 알 시설 건설에는 없습니다. 사용자 지정 작업을 작성해야합니다.

데이터베이스가 존재하거나 존재하지 않을 경우 사용자 지정 작업에서 속성을 설정할 수 있으며 값을 기반으로 조건 확인을 통해 그에 따라 스크립트를 호출하십시오.

관련 문제