You may find this useful: http://robmensching.com/blog/posts/2007/1/4/doing-a-small-update-or-minor-upgrade-in-msi-use/
_____________________________________________________________ Short replies here. Complete answers over there: http://www.firegiant.com/ -----Original Message----- From: Sascha Sertel [mailto:sascha.ser...@gmail.com] Sent: Friday, September 5, 2014 4:22 PM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] Issue with RemoveFolder and Error 2911 Config.msi 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-uninsta >> > > lls -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 ------------------------------------------------------------------------------ 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