I tried that one already. It always returned 0 no matter what version my bundle 
had.

-----Ursprüngliche Nachricht-----
Von: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] 
Gesendet: Donnerstag, 27. September 2012 15:36
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Custom Bootstrapper Application: Problem whentrying 
todetect if Bundle is already installed

Could you use the built-in variable WixBundleInstalled instead ? I'm not sure 
if that's version specific or not. It might be worth a look.

-----Original Message-----
From: Frauenhoffer, Sabine [mailto:sabine.frauenhof...@haufe-lexware.com]
Sent: 27 September 2012 14:13
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Custom Bootstrapper Application: Problem when trying 
todetect if Bundle is already installed

Hi there,

 

I have a problem when trying to detect whether my Bundle is already installed. 
My usecase is as follows:

 

I am creating  a bundle with a custom UI. On startup I need to check whether my 
bundle is already installed in the exactly same version to determine if I have 
to show the maintenance page (if the versions match), to block installation(if 
a newer version is already installed) or show the install page (else). So I 
make a call to _bootstrapperApplication.Engine.Detect();

 

My first idea now was to handle the event 
_bootstrapperApplication.DetectRelatedBundle and somehow determine whether the 
productcodes are different. This is not possible as I can't get the product 
code of the bundle that is going to be installed. 

 

Then I thought it might be an idea, to check for some package which is unique 
for my product.  So I added the line 
_bootstrapperApplication.DetectPackageComplete = DetectedPackage; (see
below) but it doesn't work as I expected:

 

 

 

        private void DetectedPackage(object sender, 
DetectPackageCompleteEventArgs e)

        {

            PackageState.Obsolete

            if (e.PackageId.Equals("mypackage",
StringComparison.Ordinal))

            {

                _state = (e.State == PackageState.Present) ?
InstallationState.DetectedPresent : InstallationState.DetectedAbsent;

            }

        }

 

 

-    If for example version 2.8 is installed and the Package in my
Bundle now has version 2.7 it returns PackageState.Absent (or Obsolete?
I can't reproduce it at the moment) which is just fine

-    If version 2.8 is installed and the Package in my Bundle now has
version 2.8, too, it syas e.State = PackageState.Present which is correct, too.

-    But if version 2.8 is installed and the Package in my Bundle now
has version 2.9, I get e.State = PackageState.Present and would show the 
maintenance page although I would need to show install page and install the 
newer version.

 

Is this intended or is it a bug? Am I getting something wrong?

What I am doing as a workaround is, on DetectRelatedBundle event I make some 
very ugly version comparison. Is there any other option?

 

Any help appreciated, thanks in advance!

 

Regards,
Sabine

 

 

-----------------------------------------------------------------------------
-
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free
today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
SDL PLC confidential, all rights reserved.
If you are not the intended recipient of this mail SDL requests and requires 
that you delete it without acting upon or copying any of its contents, and we 
further request that you advise us.
SDL PLC is a public limited company registered in England and Wales.  
Registered number: 02675207.
Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, 
UK.


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free 
today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to