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