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

Reply via email to