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 <[email protected]>
> To: General discussion for Windows Installer XML toolset.
> <[email protected]>
> 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:[email protected]]
>> 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:[email protected]]
>>> 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
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>>
>>>
>>>
>>> ----------------------------------------------------------------------
>>> -------- _______________________________________________
>>> WiX-users mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>>
>>>
>>>
>>>
>> ------------------------------------------------------------------------
>> ------
>> _______________________________________________
>> WiX-users mailing list
>> [email protected]
>> 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
>> [email protected]
>> 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
> [email protected]
> 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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users