Adrian, thank you very much for this workaround. At the time of reading it, I did not belive that this could help in any way - at least did I alreay have an component which has INSTALLLOCATION as "Directory" attribute and the folder that remains was not empty. Nevertheless, I tryed it and added your component line and it works :). Now all installed parts are removed completely. The log confirms this: MSI (s) (D8:10) [18:33:41:007]: PROPERTY CHANGE: Adding INSTALLLOCATION property. Its value is 'E:\Program Files\MyAppName'.
(before it was 'C:\Program Files\MyAppName') Still, the whole thing is strange and it seems as this is a bug in MSI - or is there any logical explanation for this? Thanks, Tom Adrian Gantoi wrote: > Hi, > > I am not sure if your problem comes from this, but I experienced in the past > a similar problem with yours. > Windows Installer did not correctly resolve the real location of a folder in > a Repair/Uninstall scenario. > This happened to me for folders which did not have any files installed inside > (only other folders). > MSI seems to resolve the folder path based on components referencing the > folder. > I managed to have the proper values after defining some components with the > folders as KeyPath, like below: > <Component Id="compId" Guid="{....}" Directory="put here directory id" > KeyPath="yes" /> > Hope this helps. > > Adrian. > > > > > > ________________________________ > From: Tom Kazimiers <2voo...@gmx.de> > To: General discussion for Windows Installer XML toolset. > <wix-users@lists.sourceforge.net> > Sent: Wednesday, July 29, 2009 5:17:19 PM > Subject: Re: [WiX-users] Uninstall Problem if installed on non system > partition > > Hi, > > thans for the hint, with the verbose logging (I guess "/lvx! > install.log" for msiexec will do it?). The files get installed in the > correct directory (namely that one the user chooses in the install > settings dialog). The variable saving this location is named > INSTALLLOCATION. I use it in the following structure: > > <!--Directory Structure--> > <Directory Id="TARGETDIR" Name="SourceDir"> <!-- virtual folder, > must be outermost--> > <Directory Id="ProgramFilesFolder"> > <Directory Id="INSTALLLOCATION" Name="MyAppName"> > ...content of my folder... > > > And I set the the following WiX variable: > > <!--Userinterface properties--> > <Property Id="WIXUI_INSTALLDIR" Value='TARGETDIR' /> > > > I tryed that one with INSTALLLOCATION, too, but it did not change anything. > > Well, the install log says the following about INSTALLLOCATION: > > ... > MSI (c) (E0:88) [15:54:53:011]: PROPERTY CHANGE: Adding INSTALLLOCATION > property. Its value is 'C:\Program Files\MyAppName\'. > ... > MSI (s) (FC:78) [16:09:16:756]: Dir (target): Key: TARGETDIR , > Object: E:\ > ... > MSI (c) (E0:88) [15:54:53:081]: Dir (target): Key: INSTALLLOCATION , > Object: C:\Program Files\MyAppName\ > ... > MSI (c) (E0:88) [15:54:58:730]: PROPERTY CHANGE: Adding _BrowseProperty > property. Its value is 'INSTALLLOCATION'. > ... > MSI (c) (E0:88) [15:55:01:383]: PROPERTY CHANGE: Modifying > INSTALLLOCATION property. Its current value is 'C:\Program > Files\MyAppName\'. Its new value: 'E:\Program Files\MyAppName\'. > ... > MSI (c) (E0:88) [15:55:03:186]: Switching to server: ... > INSTALLLOCATION="E:\Program Files\MyAppName\" TARGETDIR="E:\" ... > ROOTDRIVE="E:\" > ... > [and some more locations, but erverywhere it is like it should be] > > > Now, if I uninstall with the same MSI the GUI works without any problem > (beside that somehow a small font is set) and the following occurences > are in the log: > > > ... > MSI (s) (FC:78) [16:09:16:709]: PROPERTY CHANGE: Adding INSTALLLOCATION > property. Its value is 'C:\Program Files\MyAppName\'. > ... > MSI (s) (FC:78) [16:09:16:779]: Dir (target): Key: INSTALLLOCATION , > Object: C:\Program Files\MyAppName\ > ... > MSI (s) (FC:78) [16:09:19:069]: Executing op: > SetTargetFolder(Folder=C:\Program Files\MyAppName\) > MSI (s) (FC:78) [16:09:19:079]: Executing op: > FileRemove(,FileName=MyAppName.exe,,ComponentId={07F89156-0254-4C41-AC90-282090205D32}) > ... > MSI (s) (FC:78) [16:09:18:506]: Executing op: > RegRemoveValue(,Value=[INSTALLLOCATION]MyAppName.exe,0,) > > > Clearly, the FileRemove can not work out since INSTALLLOCATION is set to > the wrong value. But how comes that there is not the right value in it? > Have I to tell MSI that to save it? > One solution would be to save the INSTALLLOCATION in the registry (in > fact, I to this already) and read it in on uninstall and replace > INSTALLLOCATION. But I would not like to do this, since this value could > be changed and get missed (or sth.) - It would be gread if you Chris, or > someone else, has a hint for me. > > Thanks ain advance, > Tom > > > Chris Lord wrote: > >> Tom, >> >> I do not know. I have never had any problems with the cache but then >> again the installers I have built aren't exactly complicated! >> >> However, first place I would look is to run an install on a fresh >> machine with verbose logging and see if the files are being installed to >> the directory you expect. >> >> Chris >> >> >> -----Original Message----- >> From: Tom Kazimiers [mailto:2voo...@gmx.de] >> Sent: Monday, July 27, 2009 17:11 >> To: General discussion for Windows Installer XML toolset. >> Subject: Re: [WiX-users] Uninstall Problem if installed on non system >> partition >> >> Chris, >> >> thanks for the hint with the MSI log. I looked into it and found >> something odd: >> The INSTALLLOCATION-Directory property has another value then where the >> application is installed. This is strange since it is declared as the >> base directory in the setup sources and not modified anywhere else. >> >> Coulds this have something to do with MSI caching? >> >> Thanks, >> Tom >> >> Chris Lord wrote: >> >> >>> Tom >>> >>> For files your installer places on the hard disk, the uninstall should >>> >>> >> >> >>> remove them automatically unless they are still in use. There should >>> be no need for you to manually remove these files. Directories are a >>> different matter as the uninstall will not remove it if the directory >>> is not empty. This typically happens if the application generates its >>> >>> >> >> >>> own files when running. The uninstaller does not know anything about >>> them and thus leaves both the files and the directory intact. >>> >>> Run the uninstall from the command line using msiexec to get a verbose >>> >>> >> >> >>> log and see what the log says. It should give you a clue why the >>> files are not removed. >>> >>> Chris >>> >>> -----Original Message----- >>> From: Tom Kazimiers [mailto:2voo...@gmx.de] >>> Sent: Monday, July 27, 2009 04:07 >>> To: General discussion for Windows Installer XML toolset. >>> Subject: [WiX-users] Uninstall Problem if installed on non system >>> partition >>> >>> Hi, >>> >>> the installer I use is written with WiX 3 and everything works, except >>> >>> >> >> >>> one little problem with the uninstallation process. If I don't change >>> the default install location (which is on the system partition of >>> Windows) everything works as expected (everything gets removed on an >>> uninstall). But if I use a different install location only some files >>> get removed (in fact, only some sub folders with their content). Files >>> >>> >> >> >>> that lie directly in the install location folder do not get removed. >>> >>> Has anyone experienced such a problem before? If I compare both >>> component declarations in the wix source, I see no fundamental >>> differences that could cause this. >>> >>> In other installers where sometimes <RemoveFile> and <RemoveDirectory> >>> >>> >> >> >>> tags used. >>> When are they needed and when not? >>> >>> Thanks in advance, >>> Tom >>> >>> >>> ---------------------------------------------------------------------- >>> -- >>> ------ >>> _______________________________________________ >>> WiX-users mailing list >>> WiX-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/wix-users >>> >>> >>> >>> ---------------------------------------------------------------------- >>> -------- _______________________________________________ >>> WiX-users mailing list >>> WiX-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/wix-users >>> >>> >>> >>> >> ------------------------------------------------------------------------ >> ------ >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> >> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >> trial. Simplify your report design, integration and deployment - and focus >> on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> >> >> > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users