[wix-users] Database creation issue

Ven H venh.123 at gmail.com
Fri May 11 00:52:51 PDT 2018

Thanks a lot Edwin. For the rollback part, as you mentioned, I scheduled
them before execute. So, now, it seems to be getting executed during
rollback. For the other scripts, I can see in the log that for every SQL
script file, it is logging the following message

*InstallSqlData:  Scheduling SQL string: <SQL statement>*

It is logging the above for all the scripts, but upon refreshing the
databases in the SQL Management Studio, I don't see any objects created
yet. So, looking at the log, it seems it is only scheduling all the scripts
first, before it even starts to execute them. Is there a way, we can
control this behavior, i.e., execute each and every script as per the
sequence, before just scheduling all at once?


On Wed, May 9, 2018 at 7:00 PM, Edwin Castro <egcastr at gmail.com> wrote:

> Since you have not provided a verbose log for us to see what is actually
> is going on (always get a verbose log, always) the best I can do is make a
> guess.
> In the past I sent email about how immediate custom actions decide what to
> do and schedule rollback and "execute" deferred custom actions to run later
> by the server process when the install script is executed.
> It might be possible that the immediate custom action is failing with the
> "out of memory" error you are seeing. In that case none of the actions
> would actually run.
> But your question implies that at least some of the "execute" deferred
> custom actions are running so one would expect some of the rollback custom
> actions to run. Of course those rollback actions will only run if they are
> sequenced before their "execute" counterparts. Perhaps the rollback you
> expect is not happening because it is not scheduled correctly.
> Then again, you are running out of memory. Perhaps it *IS* trying to run
> the rollback but it can't because it ran out of memory!
> Really, the only thing we can do here is make guesses without the verbose
> log. What does the verbose log say?
> --
> Edwin G. Castro
> On Wed, May 9, 2018, 05:52 Ven H via wix-users <
> wix-users at lists.wixtoolset.org> wrote:
>> I have an MSI which has lots of sql script files (around 1500) to create
>> around 8 databases and tables, stored procs, views, indexes, functions and
>> so on. These sql script files are executed in a sequence. Almost towards
>> the end, there is a very big file in the 8th DB (around 138 MB). This file
>> basically has insert statements with binary data.
>> When I install the MSI, I expect that it would create all the 8 DBs but
>> will fail only when it reaches this script. But it gets stuck for a very
>> long time, before it finally throws the error saying "Failed to allocate
>> memory to CustomActionData string.". But when I check the log, I can see
>> that it is logging all the sql statements from the previous scripts before
>> this file.
>> Although, there is a rollback script to drop everything in case of error,
>> I
>> thought, when I refresh the SQL Management Studio, I would see the
>> databases during installation, but I don't. So, does it try to load
>> everything into memory first before starting to execute? If not, why does
>> it not create the databases during installation and then rollback after
>> error? Can anyone please provide any inputs?
>> ____________________________________________________________________
>> WiX Toolset Users Mailing List provided by FireGiant
>> http://www.firegiant.com/

More information about the wix-users mailing list