I figured it out, it was never about Config.msi in the first place. When I
looked at the log file for a successful upgrade I realized it has the same
Config.msi error message in it, so that's always there and probably also
the reason why the installer isn't actually failing, I guess MSI just
ignores that one.

The REAL issue was that I had done (and then forgotten about) something
that I didn't realize was a big no-no: I removed a file (and its component)
from a feature in a minor upgrade. After going through the log file line by
line I finally stumbled over this:

MSI (s) (28:5C) [15:27:36:652]: SELMGR: ComponentId
'{2D7F4762-05A3-5CCE-A909-C3D03507F96A}' is registered to feature
'ClientComponentsFeature', but is not present in the Component table.
 Removal of components from a feature is not supported!
MSI (s) (28:5C) [15:27:36:652]: SELMGR: Removal of a component from a
feature is not supported

And that's the reason why none of the files get updated. So now I only need
to figure out which is the lesser evil, putting the obsolete file back (as
a 0 byte file) or changing the ProductCode and turning this into a major
upgrade.

Thanks for the help!

// Sascha



On Fri, Sep 5, 2014 at 2:02 PM, Sascha Sertel <sascha.ser...@gmail.com>
wrote:

> I thought when it uninstalls the old version it does so by running the
> cached MSI for THAT version, which also doesn't have CONFIGFOLDER in it?
>
> I've made other changes to the installer before such as adding new files
> etc. and I've never had issues like this.
>
> // Sascha
>
>
> On Fri, Sep 5, 2014 at 12:18 PM, John Cooper <jocoo...@jackhenry.com>
> wrote:
>
>> Ok, so CONFIGFOLDER is not going to exist on the old installer.  What is
>> you upgrade scheduling?  To make this work, you probably need
>> MajorUpgrade@Schdule=afterInstallInitialize or afterInstallValidate.  In
>> an overlapped upgrade, it's going to attempt to remove a non-existent
>> CONFIGFOLDER.
>>
>> --
>> 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:59 PM
>> To: General discussion about the WiX toolset.
>> Subject: Re: [WiX-users] Issue with RemoveFolder and Error 2911 Config.msi
>>
>> 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
>> 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