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

Reply via email to