As I said it's really simple, here an excerpt from my directory definitions
(all within the same Fragment):
1      <Directory Id="LocalAppDataFolder" Name="LocalAppData">
2        <Directory Id="APPDATAFOLDER" Name="$(var.ProductName)" />
3        <Directory Id="CONFIGFOLDER" Name="$(var.ConfigName)" />
4      </Directory>

In the old installer lines 1, 2, and 4 existed already, in the new version
I added line 3. The WiX properties are defined at the top of the file right
below each other.

Similarly, I have this section to satisfy ICE64:

1  <Fragment>
2    <DirectoryRef Id="APPDATAFOLDER">
3      <Component Id="CleanupAppDataFolder" Guid="*">
4        <RegistryValue Root="HKCU"
Key="Software\$(var.Manufacturer)\$(var.ProductName)" Name="AppDataPath"
Type="string" Value="[APPDATAFOLDER]" KeyPath="yes" />
5        <RemoveFolder Id="APPDATAFOLDER" On="uninstall"/>
6      </Component>
7    </DirectoryRef>
8    <DirectoryRef Id="CONFIGFOLDER">
9      <Component Id="CleanupConfigFolder" Guid="*">
A        <RegistryValue Root="HKCU"
Key="Software\$(var.Manufacturer)\$(var.ProductName)" Name="ConfigPath"
Type="string" Value="[CONFIGFOLDER]" KeyPath="yes" />
B        <RemoveFolder Id="CONFIGFOLDER" On="uninstall"/>
C      </Component>
D    </DirectoryRef>
E  </Fragment>

Like before, lines 1-7 and E were already in the old installer, and I added
lines 8-D for the new directory. If I take the new entries out the upgrade
works without problems, with these new lines the upgrade fails with that
Config.msi error.

After doing some more testing I noticed that it looks like ANY change to
the directories compared to the original installer causes this failure. As
a test I removed the directory and RemoveFolder element that was in the old
installer, and I get the exact same failure. Is this perhaps a version
issue? Can I not add/remove directories in a minor upgrade?

Also, I forgot to mention before, this failure doesn't actually make the
installer fail, instead the installer succeeds and ARP shows the new
version as well, but in fact it didn't install and none of the binaries
were replaced due to the error that caused a rollback and made it not touch
anything. To the user it's not immediately clear that it didn't actually
update anything.

// Sascha



On Fri, Sep 5, 2014 at 11:41 AM, John Cooper <jocoo...@jackhenry.com> wrote:

> The database being referred to is probably the MSI itself.  Problems with
> RemoveFolder usually occur when the property is not defined soon enough.
> It must be defined before the RemoveFolders standard action runs.
>
> What does your authoring look like?  Are you using a property?
>
> --
> John Merryweather Cooper
> Senior Software Engineer | Enterprise Service Applications | Continuing
> Development
> Jack Henry & Associates, Inc.® | Lenexa, KS  66214 | Ext:  431050 |
> jocoo...@jackhenry.com
>
>
>
> -----Original Message-----
> From: Sascha Sertel [mailto:sascha.ser...@gmail.com]
> Sent: Friday, September 5, 2014 1:31 PM
> To: General discussion about the WiX toolset.
> Subject: Re: [WiX-users] Issue with RemoveFolder and Error 2911 Config.msi
>
> No, there is no database involved in the installer. I get that the error
> isn't really about the Config.msi directory, but I don't know how to solve
> this.
>
> As I said, my changes that caused this failure are trivial, a new
> directory and matching RemoveFolder entry, neither of which should cause
> this?
>
> // Sascha
>
>
> On Fri, Sep 5, 2014 at 7:28 AM, Carter Young <ecyo...@grandecom.net>
> wrote:
>
> > Message 1:
> > Error 2228 = Database: [2]. Unknown table '[3]' in SQL query: [4].
> > Error 2911 = Could not remove the folder [2].
> >
> > Message 2:
> > Error 2318 = File does not exist: [2].
> >
> > Did you happen to add a Database Table in your update.  I can't tell
> > if Message 1 is coming from the Installer Tables or from your
> > Application.
> >
> > Config.msi as a folder cannot be removed as a whole as it contains
> > copies of MSI's installed on your system.  You must remove the
> > individual msi's not the folder.  This usually indicates that the
> > uninstall/upgrade process cannot find the name of the msi to uninstall
> > or upgrade.
> >
> > And Save the following link to your Programmer's Toolbox:
> > http://msdn.microsoft.com/en-us/library/aa372835(v=vs.85).aspx
> >
> >
> > Quoting Sascha Sertel <sascha.ser...@gmail.com>:
> >
> > > I ran into a weird issue that I can't seem to figure out, hopefully
> > someone
> > > has an idea.
> > >
> > > My issue happens only when doing a minor upgrade from an older
> > > version
> > to a
> > > newer version of my product. The failure lines from the log look
> > > like
> > this:
> > >
> > > MSI (s) (1C:3C) [23:17:21:084]: Note: 1: 2228 2:  3: Error 4: SELECT
> > > `Message` FROM `Error` WHERE `Error` = 2911
> > > DEBUG: Error 2911:  Could not remove the folder C:\Config.Msi\.
> > > MSI (s) (1C:3C) [23:17:21:084]: Note: 1: 2318 2:
> > > The installer has encountered an unexpected error installing this
> > package.
> > > This may indicate a problem with this package. The error code is 2911.
> > The
> > > arguments are: C:\Config.Msi\, ,
> > >
> > > There was a change to the wxs between those two versions, and if I
> > > undo
> > the
> > > change then upgrade works fine again. However, I cannot figure out
> > > how to get it so the upgrade works fine with the change. Fresh
> > > install works
> > fine
> > > with the change, it's only upgrade that fails.
> > >
> > > The change is pretty trivial: I added a Directory entry to the list
> > > of directories, and a corresponding Component with RemoveFolder
> > > entry. There was another directory on the same level already for
> > > which I did the exact same thing, so it's basically just copy and
> > > paste and changing the directory identifier. Note that the directory
> > > I added is actually created by the app already (also in the lower
> > > version), I only added it so my custom action can blow the directory
> away during uninstall.
> > >
> > > The closest match to my issue that I could find is this one:
> > >
> > http://stackoverflow.com/questions/21242963/wix-installer-uninstalls-b
> > ut-not-installs-if-previous-version-is-installed
> > >
> > > I also have a custom action but it is only run at uninstall. The log
> > > clearly shows that the action was not run because its condition
> > > evaluated to false.
> > >
> > > Any ideas what might be going on here?
> > >
> > > // Sascha
> > >
> > ----------------------------------------------------------------------
> > --------
> > > Slashdot TV.
> > > Video for Nerds.  Stuff that matters.
> > > http://tv.slashdot.org/
> > > _______________________________________________
> > > WiX-users mailing list
> > > WiX-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/wix-users
> > >
> > >
> >
> >
> >
> >
> >
> > ----------------------------------------------------------------------
> > --------
> > Slashdot TV.
> > Video for Nerds.  Stuff that matters.
> > http://tv.slashdot.org/
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
>
> ------------------------------------------------------------------------------
> Slashdot TV.
> Video for Nerds.  Stuff that matters.
> http://tv.slashdot.org/
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> NOTICE: This electronic mail message and any files transmitted with it are
> intended
> exclusively for the individual or entity to which it is addressed. The
> message,
> together with any attachment, may contain confidential and/or privileged
> information.
> Any unauthorized review, use, printing, saving, copying, disclosure or
> distribution
> is strictly prohibited. If you have received this message in error, please
> immediately advise the sender by reply email and delete all copies.
>
>
>
> ------------------------------------------------------------------------------
> Slashdot TV.
> Video for Nerds.  Stuff that matters.
> http://tv.slashdot.org/
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to