[wix-users] Mysterious behavior in MSI
Edwin Castro
egcastr at gmail.com
Wed Nov 6 21:38:36 PST 2019
Custom actions are located in the Binary table. I think managed custom
action dlls are embedded in native custom action dlls.
What do you mean by archive? What creates the archive?
What do you mean by start a new MSI from scratch?
Does the target database already exist when you install the MSI?
I suspect the database already exists with the all the tables and when you
install a new MSI it is not really creating anything new. What happens if
you add a column and remove a column from the same table?
If the MSI only creates databases, then why use MSI? How do you handle
upgrades? Do you install the MSI on the server hosting the database or are
you installing on a remote server, then what ensures the database upgrade
occurrs on the correct server? Again, I generally discourage databases to
be created/updated with MSI. In my opinion, MSIs should not install remote
resources and most database admins disallow direct access to database
servers.
On Wed, Nov 6, 2019, 20:49 Habib Salim via wix-users <
wix-users at lists.wixtoolset.org> wrote:
> Thanks for the response.
>
>
>
> I have Orca and InstEdIt! But I can’t tell where my customActions dll is
> located.
>
> WinRAR shows the dlls inside the archive but nothing else – not my dll or
> anything that would represent the installer tables/instructions.
>
>
>
> This MSI only creates new databases. all objects are only created, and a
> few inserts of “setup” type data.
>
>
>
> I’ve used the install logs to troubleshoot installs but I did not because
> it might not be traceable there.
>
> I do think that maybe an older copy of my dll stuffed is hiding in the
> MSI.
>
>
> https://docs.microsoft.com/en-us/windows/win32/msi/reducing-the-size-of-an--msi-file
>
>
>
> is there a way to start a new MSI from scratch? A commandline switch?
>
>
>
> Regards
>
> Habib
>
>
>
>
>
>
>
> *From:* Edwin Castro <egcastr at gmail.com>
> *Sent:* Wednesday, November 06, 2019 10:50 AM
> *To:* WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> *Cc:* Habib Salim <habib at hsalim.com>
> *Subject:* Re: [wix-users] Mysterious behavior in MSI
>
>
>
> I am afraid that is not enough information to figure out what is going on.
> Perhaps the old custom action DLL is still, somehow, used in your MSI. Are
> you creating the database from scratch? Perhaps you are updating the
> database and you don't have code to drop those tables.
>
>
>
> Have you used Orca or Instedit to check the DLL that is actually embedded
> in your MSI? Are you logging the actions taken? Such a log could let you
> confirm that the tables are or are not getting created with the new
> MSI/DLL. You could even log the entire XML content you are processing. That
> could be a lot to log but it would let you verify that you are using the
> content you intend to use. Are you starting with an empty database in your
> testing?
>
>
>
> --
>
> Edwin G. Castro
>
> On Wed, Nov 6, 2019, 06:48 Habib Salim via wix-users <
> wix-users at lists.wixtoolset.org> wrote:
>
> Hello,
>
> I have a custom action in my msi that creates a database with tables and
> other SQL objects. Object definitions are in an xml file, which is
> packaged into the project as an embedded resource.
>
> This has been working beautifully for some time now.
>
>
>
> I recently changed the XML - dropped a few tables for example, by editing
> the XML. I’ve looked it every way I can – I even opened the dll in
> Resharper and verified that the XML does not contain those tables.
>
> Still, when I run the installer, the tables are created - I just cant
> figure out why.
>
>
>
> Thanks in advance for any assistance.
>
> Regards
>
> Habib
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/
More information about the wix-users
mailing list