[WiX-users] SQL Server Error Handling inside WiX
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
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