I would actually consider that desirable behavior in my product, since
version 2.1 was designed and tested with bbb.dll version 1.0 - not version
1.5.  What's happening is the removal of product 2.0 causes the reference
count on component bbb.dll to go to zero, and so MSI deletes the file.  Then
the new version installs a fresh copy of bbb.dll version 1.0.

If you want to retain the behavior you describe, then you would need to test
product version 2.1 with both bbb.dll versions 1.5 and 1.0.  Version 1.5
would occur when the user upgrades and version 1.0 would occur on a clean
install of product 2.1.  If at all possible, I like to just to put the DLLs
alongside your application in the application directory, and not put them in
a shared place like the Windows System32 directory - this is easier since
you only have to test one configuration instead of two.  This tends to be a
recommended way of doing things to avoid "DLL Hell".

That said, sometimes 3rd-party components have prescribed ways of
installation and there's nothing you can do about it.  And maybe there are
some reasons for keeping the bbb.dll file around.  For example, you might
have bbb.dll as a 3rd-party component in the SYSTEM32 directory.  In that
case I would set the "Permanent" and "SharedDllRefCount" attributes both to
"yes".  Permanent will add an extra reference to the component during
installation, so that it doesn't get deleted on uninstall (or therefore an
upgrade).  SharedDllRefCount deals with maintaining a similar, older-style
reference counting scheme for non-Windows Installer installers so that some
other non-MSI installer doesn't wipe your DLL from underneath you.

James 

-----Original Message-----
From: Igor Lemsky [mailto:igor.lem...@gmail.com] 
Sent: Friday, February 25, 2011 04:57
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Problem with RemoveExistingProducts action

It seems that I dont break component rules... I just add new component into
existing feature and trying to upgrade.
Besides I put it after InstallInitialize, but now take another problem. If
some of dlls will have lower version - it deleted during upgrade.
If product version 2.0 have bbb.dll version 1.5, and product version 2.1
have dll version 1.0 - it just erase it during upgrade!
As I understand it must leave bbb.dll version 1.5...


On Tue, Feb 22, 2011 at 9:13 PM, James Johnston
<johnst...@inn-soft.com>wrote:

> In that case you have to be following component rules.  See 
> http://www.joyofsetup.com/2008/12/30/paying-for-upgrades/  Also with 
> your placement, if the old version fails to uninstall then the user 
> will have both old & new versions installed - something to keep in mind.
>
> Try putting it after InstallInitialize.  The old version will be 
> uninstalled first before anything new is installed.  If the install of 
> the new product fails then the rollback will restore the old version.
>
> If you use DIFxApp for driver installs then it needs to be put between 
> InstallValidate and InstallInitialize due to a bug in DIFxApp.  In 
> that case a failed install of the new product but after the successful 
> uninstall of the old product will leave the computer with no product 
> installed at all.
>  I
> think that must be a good place to put it if there are buggy custom 
> actions and component rules aren't being well-followed.
>
> James
>
> -----Original Message-----
> From: Igor Lemsky [mailto:igor.lem...@gmail.com]
> Sent: Tuesday, February 22, 2011 06:04
> To: General discussion for Windows Installer XML toolset.
> Subject: [WiX-users] Problem with RemoveExistingProducts action
>
> I have upgrade scenario for my system from 2.0 version to 2.1 version. 
> I have file for example aaa.xml in 2.1 version and no such file in 2.0 
> version. It lies in independent component i feature Afeature (it was 
> in 2.0 also). During install there are no problems: file installs to 
> the right location. But during upgrade from 2.0 version it copies and then
deleted.
> It seems that RemoveExistingProducts deletes it during uninstall of 
> older
> 2.0 product. It planned after InstallFinalize action (the most right 
> place as I understand).
> Due to the log Installer unpublish features and the delete files...
> MSI (s) (DC:B8) [11:54:05:148]: Executing op:
>
> FileRemove(,FileName=aaa.xml,,ComponentId={369A88EA-F2DD-4124-9560-13E
> 5694E2
> EEB})
> RemoveFiles: File: aaa.xml, folder: C:\Mag\
>
> I dont understand - what happened? Why it deletes files? May be I 
> didnt configured installer correctly? But how?
>
> ----------------------------------------------------------------------
> ------
> --
> Index, Search & Analyze Logs and other IT data in Real-Time with 
> Splunk Collect, index and harness all the fast moving IT data 
> generated by your applications, servers and devices whether physical, 
> virtual or in the cloud.
> Deliver compliance at lower cost and gain new business insights.
> Free Software Download: http://p.sf.net/sfu/splunk-dev2dev
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
> ----------------------------------------------------------------------
> -------- Index, Search & Analyze Logs and other IT data in Real-Time 
> with Splunk Collect, index and harness all the fast moving IT data 
> generated by your applications, servers and devices whether physical, 
> virtual or in the cloud.
> Deliver compliance at lower cost and gain new business insights.
> Free Software Download: http://p.sf.net/sfu/splunk-dev2dev
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
----------------------------------------------------------------------------
--
Free Software Download: Index, Search & Analyze Logs and other IT data in
Real-Time with Splunk. Collect, index and harness all the fast moving IT
data generated by your applications, servers and devices whether physical,
virtual or in the cloud. Deliver compliance at lower cost and gain new
business insights. http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to