Was this ever addressed? -----Original Message----- From: Jason Jibben [mailto:jason_jib...@starkey.com] Sent: Wednesday, November 18, 2009 8:46 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] SQL Script sequencing/committing issues
Hello WiX-Users, I've been working on an installer that uses quite a few SQL scripts that are triggered based on conditions set during the UI prompts. The issue I've been having is that the SQL statements that are scheduled with a lower sequence number doesn't seem to be fired off (or completed) by the time the next statement is fired. The WiX code I use is rather basic, mostly copy/pasted from tutorial sites. The one change I did make that made a difference is: I set up a DB pointer for each script. By doing so the error went away, but recently I found out our testers have found instances where the error returned on slower machines and/or slower connections to a remote DB. I dislike doing this because it is redundant, and rather ugly. Is there a way to force a delay or check for a commit result before continuing to the next item in the sequence? Using latest build of WiX 3.0 I have about 45 scripts, and 20-23 will run on each install. I've omitted the majority of them, but the error usually comes while running the scripts in SQLBulk. The error refers to an object not existing that should have been created in a previous Script. Having one pointer to a DB will always cause the error. Having separated pointers allows the install to complete on most, but not all machines (as stated before). Thanks. Sample code: <Component Id="DBSQL" Guid="GUID IS HERE" > <sql:SqlDatabase Id="DBSQL" User="SQLUser" Database="Foo" Server="[SQLSERVERNAME]" CreateOnInstall="yes" DropOnUninstall="no" > <sql:SqlScript Id="DBSQL.sql" ExecuteOnInstall="yes" BinaryKey="DBSQL" Sequence="1" User="SQLUser"/> </sql:SqlDatabase> <Condition>NEWDB = "Yes" AND SQLEXPRESS="No"</Condition> </Component> <Component Id="DBSQLExpress" Guid="GUID IS HERE" > <sql:SqlDatabase Id="DBSQLExpress" User="SQLUser" Database="Foo" Server="[SQLSERVERNAME]" CreateOnInstall="yes" DropOnUninstall="no" > <sql:SqlScript Id="DBSQLExpress.sql" ExecuteOnInstall="yes" BinaryKey="DBSQLExpress" Sequence="1" User="SQLUser"/> </sql:SqlDatabase> <Condition>NEWDB = "Yes" AND SQLEXPRESS="Yes"</Condition> </Component> <Component Id="SQLCreateFooDB" Guid="GUID IS HERE" > <sql:SqlScript SqlDb="FooDB01" Id="FooDB.sql" ExecuteOnInstall="yes" BinaryKey="FooDB" Sequence="2" User="SQLUser"/> <Condition>NEWDB = "Yes"</Condition> </Component> <Component Id="SQLReplication" Guid="GUID IS HERE"> <sql:SqlScript SqlDb="FooDB01" Id="DropReplicationSubscriberOnClient.sql" ExecuteOnInstall="yes" BinaryKey="drpRepSubClnt" Sequence="2" User="SQLUser"/> <sql:SqlScript SqlDb="FooDB23" Id="ReplicationSubscriberOnClient.sql" ExecuteOnInstall="yes" BinaryKey="RepSubClient" Sequence="20" User="SQLUser"/> <Condition>Replication="Yes"</Condition> </Component> <Component Id="SQLReplicationNewDB" Guid="GUID IS HERE"> <sql:SqlScript SqlDb="FooDB02" User="SQLUser" Id="ReinitializeReplicationSubscriberOnClient.sql" ExecuteOnInstall="no" ExecuteOnReinstall="yes" BinaryKey="ReInRepSubClnt" Sequence="21"/> <Condition>Replication = "Yes" AND NEWDB = "Yes"</Condition> </Component> <Component Id="SQLBulk" Guid="GUID IS HERE"> <sql:SqlScript SqlDb="FooDB04" User="SQLUser" Id="x7010000UpdateFooDB.sql" ExecuteOnInstall="yes" BinaryKey="xVerUpdateDB" Sequence="3"/> <sql:SqlScript SqlDb="FooDB05" User="SQLUser" Id="MasterObjects.sql" ExecuteOnInstall="yes" BinaryKey="MasterObjects" Sequence="4"/> <sql:SqlScript SqlDb="FooDB06" User="SQLUser" Id="Functions.sql" ExecuteOnInstall="yes" BinaryKey="Functions" Sequence="5"/> <sql:SqlScript SqlDb="FooDB07" User="SQLUser" Id="FunctionsSpecial.sql" ExecuteOnInstall="yes" BinaryKey="FunctionsSpecial" Sequence="6"/> <sql:SqlScript SqlDb="FooDB08" User="SQLUser" Id="Views.sql" ExecuteOnInstall="yes" BinaryKey="Views" Sequence="7"/> <sql:SqlScript SqlDb="FooDB09" User="SQLUser" Id="ViewsSpecial.sql" ExecuteOnInstall="yes" BinaryKey="ViewsSpecial" Sequence="9"/> <sql:SqlScript SqlDb="FooDB10" User="SQLUser" Id="Triggers.sql" ExecuteOnInstall="yes" BinaryKey="Triggers" Sequence="10"/> <sql:SqlScript SqlDb="FooDB11" User="SQLUser" Id="ProceduresGenerated.sql" ExecuteOnInstall="yes" BinaryKey="ProcGen" Sequence="11"/> <sql:SqlScript SqlDb="FooDB12" User="SQLUser" Id="Procedures.sql" ExecuteOnInstall="yes" BinaryKey="Procedures" Sequence="12"/> <sql:SqlScript SqlDb="FooDB13" User="SQLUser" Id="ProceduresSpecial.sql" ExecuteOnInstall="yes" BinaryKey="ProceduresSpecial" Sequence="13"/> <sql:SqlScript SqlDb="FooDB14" User="SQLUser" Id="ActivityReportFunctions.sql" ExecuteOnInstall="yes" BinaryKey="ActRepFunct" Sequence="14"/> <sql:SqlScript SqlDb="FooDB15" User="SQLUser" Id="InitializeSecurity.sql" ExecuteOnInstall="yes" BinaryKey="InitializeSecurity" Sequence="15"/> <sql:SqlScript SqlDb="FooDB16" User="SQLUser" Id="x7010000UpdateData.sql" ExecuteOnInstall="yes" BinaryKey="x7010000UpdateData" Sequence="17"/> <sql:SqlScript SqlDb="FooDB17" User="SQLUser" Id="Indexes.sql" ExecuteOnInstall="yes" BinaryKey="Indexes" Sequence="18"/> </Component> ... <util:User Id="SQLUser" Name="[USER]" Password="[PASSWORD]" /> <sql:SqlDatabase Id="FooDB01" Database="ProHear" Server="[SQLSERVERNAME]" User="SQLUser" /> <sql:SqlDatabase Id="FooDB02" Database="ProHear" Server="[SQLSERVERNAME]" User="SQLUser" /> <sql:SqlDatabase Id="FooDB03" Database="ProHear" Server="[SQLSERVERNAME]" User="SQLUser" /> <sql:SqlDatabase Id="FooDB04" Database="ProHear" Server="[SQLSERVERNAME]" User="SQLUser" /> <sql:SqlDatabase Id="FooDB05" Database="ProHear" Server="[SQLSERVERNAME]" User="SQLUser" /> ... ---------------------------------------------------------------------------- -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Join us December 9, 2009 for the Red Hat Virtual Experience, a free event focused on virtualization and cloud computing. Attend in-depth sessions from your desk. Your couch. Anywhere. http://p.sf.net/sfu/redhat-sfdev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users