Quantcast

Problem with RemoveExistingProducts action

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Problem with RemoveExistingProducts action

Igor Lemsky
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-13E5694E2EEB})
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem with RemoveExistingProducts action

James Johnston
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:[hidden email]]
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-13E5694E2
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem with RemoveExistingProducts action

Igor Lemsky
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 <[hidden email]>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:[hidden email]]
> 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-13E5694E2
> 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
> [hidden email]
> 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem with RemoveExistingProducts action

James Johnston
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:[hidden email]]
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
<[hidden email]>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:[hidden email]]
> 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
> [hidden email]
> 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
> [hidden email]
> 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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem with RemoveExistingProducts action

Igor Lemsky
Ok, I understand about shared dll and so on. But I dont understand - why
upgrade scenario didn't work?
In both cases. I did wrong wix-xml for my installer or windows installer
just works so?
I want my installer to add files during upgrade. Can I put
RemoveExistingProducts after InstallFinalize as MSDN says?

On Fri, Feb 25, 2011 at 8:58 PM, James Johnston <[hidden email]>wrote:

> 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:[hidden email]]
> 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
> <[hidden email]>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:[hidden email]]
> > 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
> > [hidden email]
> > 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
> > [hidden email]
> > 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
> [hidden email]
> 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Loading...