[WiX-users] SQL Server Error Handling inside WiX

2014-03-24 Thread Ravishankar
Hi,
In my installer am creating DB and running create/alter table scripts.
if any script fails, how can i handle the error from wix?

pls find the below code


*Component Id=cmp39152CBE55BD4B39B74F75CAC45B7B87
Directory=INSTALLLOCATION Guid=07B7EF72-F434-46DB-A94A-59C35534651E
KeyPath =yes Win64=$(var.Win64) **
**  sql:SqlDatabase Id=DatabaseCreate
Server=[DATABASE_SERVERNAME] Database=[DATABASE_NAME]
CreateOnInstall=yes DropOnUninstall=no CreateOnUninstall =no
DropOnInstall =no User=SQLUser
ContinueOnError=no **
**sql:SqlFileSpec Id=FortuneDatabaseFile
Filename=[INSTALLLOCATION]DB\[DATABASE_NAME]_Data.mdf
Name=[DATABASE_NAME]_Data /**
**sql:SqlLogFileSpec Id=FortuneDatabaseLogFile
Filename=[INSTALLLOCATION]DB\[DATABASE_NAME]_log.ldf
Name=[DATABASE_NAME]_log / **
**sql:SqlString Id=CreateDB1 Sequence=1
ExecuteOnInstall=yes ExecuteOnUninstall =no ContinueOnError=no**
**  SQL=USE [\[]MASTER[\]]**
**IF EXISTS(SELECT * FROM sys.server_principals
WHERE name = N'PMS') DROP LOGIN [\[]PMS[\]]**
**CREATE LOGIN [\[]PMS[\]] WITH
PASSWORD=N'[PMS_DATABASE_PASSWORD]', DEFAULT_DATABASE=[\[]master[\]],
DEFAULT_LANGUAGE=[\[]us_english[\]], CHECK_EXPIRATION=OFF,
CHECK_POLICY=OFF**
**EXEC sys.sp_addsrvrolemember @loginame = N'PMS',
@rolename = N'sysadmin' **
**IF EXISTS(select * From syslogins  WHERE name =
N'NT AUTHORITY\SYSTEM') DROP LOGIN [\[]NT AUTHORITY\SYSTEM[\]] **
**IF EXISTS(select * From syslogins  WHERE name =
N'NT SERVICE\MSSQL$IDSPMS') DROP LOGIN [\[]NT SERVICE\MSSQL$IDSPMS[\]] **
**IF EXISTS(select * From syslogins  WHERE name =
N'BUILTIN\Administrator') DROP LOGIN [\[]BUILTIN\Administrator[\]] **
**IF EXISTS(select * From syslogins  WHERE name =
N'BUILTIN\USERS') DROP LOGIN [\[]BUILTIN\USERS[\]]/ **
**sql:SqlScript Id=CreateTable ExecuteOnInstall=yes
ExecuteOnUninstall =no BinaryKey=CreateTable Sequence =2
ContinueOnError=no /**
**  /sql:SqlDatabase**
**  /Component**
*
When the CreateTable sqlscript fails, it displays the entire script
contents as error message, is there any way to catch the error and
display proper message box?

Thanks and Regards
Ravi Shankar


--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] SQL Server Error Handling

2014-03-21 Thread Ravishankar
Hi,
In my installer am creating DB and running create/alter table scripts.
if any script fails, how can i handle the error from wix?

pls find the below code


*Component Id=cmp39152CBE55BD4B39B74F75CAC45B7B87 
Directory=INSTALLLOCATION Guid=07B7EF72-F434-46DB-A94A-59C35534651E 
KeyPath =yes Win64=$(var.Win64) **
**  sql:SqlDatabase Id=DatabaseCreate 
Server=[DATABASE_SERVERNAME] Database=[DATABASE_NAME] 
CreateOnInstall=yes DropOnUninstall=no CreateOnUninstall =no 
DropOnInstall =no User=SQLUser 
ContinueOnError=no **
**sql:SqlFileSpec Id=FortuneDatabaseFile 
Filename=[INSTALLLOCATION]DB\[DATABASE_NAME]_Data.mdf 
Name=[DATABASE_NAME]_Data /**
**sql:SqlLogFileSpec Id=FortuneDatabaseLogFile 
Filename=[INSTALLLOCATION]DB\[DATABASE_NAME]_log.ldf 
Name=[DATABASE_NAME]_log / **
**sql:SqlString Id=CreateDB1 Sequence=1 
ExecuteOnInstall=yes ExecuteOnUninstall =no ContinueOnError=no**
**  SQL=USE [\[]MASTER[\]]**
**IF EXISTS(SELECT * FROM sys.server_principals 
WHERE name = N'PMS') DROP LOGIN [\[]PMS[\]]**
**CREATE LOGIN [\[]PMS[\]] WITH 
PASSWORD=N'[PMS_DATABASE_PASSWORD]', DEFAULT_DATABASE=[\[]master[\]], 
DEFAULT_LANGUAGE=[\[]us_english[\]], CHECK_EXPIRATION=OFF,  
CHECK_POLICY=OFF**
**EXEC sys.sp_addsrvrolemember @loginame = N'PMS', 
@rolename = N'sysadmin' **
**IF EXISTS(select * From syslogins  WHERE name = 
N'NT AUTHORITY\SYSTEM') DROP LOGIN [\[]NT AUTHORITY\SYSTEM[\]] **
**IF EXISTS(select * From syslogins  WHERE name = 
N'NT SERVICE\MSSQL$IDSPMS') DROP LOGIN [\[]NT SERVICE\MSSQL$IDSPMS[\]] **
**IF EXISTS(select * From syslogins  WHERE name = 
N'BUILTIN\Administrator') DROP LOGIN [\[]BUILTIN\Administrator[\]] **
**IF EXISTS(select * From syslogins  WHERE name = 
N'BUILTIN\USERS') DROP LOGIN [\[]BUILTIN\USERS[\]]/ **
**sql:SqlScript Id=CreateTable ExecuteOnInstall=yes 
ExecuteOnUninstall =no BinaryKey=CreateTable Sequence =2 
ContinueOnError=no /**
**  /sql:SqlDatabase**
**  /Component**
*
When the CreateTable sqlscript fails, it displays the entire script 
contents as error message, is there any way to catch the error and 
display proper message box?

Thanks and Regards
Ravi Shankar
--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users