1) I needed a wrapper because my application is not written in C. This is the 
only semi fragile part of the setup, as the internals of how the bundle info is 
stored could change over time (low likelihood, but it is possible). You need to 
remember to recompile your wrapper DLL any time you update the version of Wix 
you are using for your Bundle (Rob/Wix didn't want to have to maintain another 
helper DLL).

// WixUtil.cpp
#include "stdafx.h"
#include "WixUtil.h"

#pragma comment(lib, "dutil.lib")

HRESULT DAPI WixBundleGetBundleInfo(
      __in LPCWSTR   szBundleId,                             // Bundle code
      __in LPCWSTR   szAttribute,                            // attribute name
      __out_ecount_opt(*pcchValueBuf) LPWSTR lpValueBuf,     // returned value, 
NULL if not desired
      __inout_opt                     LPDWORD pcchValueBuf   // in/out buffer 
character count
        )
{
    return BundleGetBundleInfo(szBundleId, szAttribute, lpValueBuf, 
pcchValueBuf);
}

HRESULT DAPI WixBundleEnumRelatedBundle(
          __in     LPCWSTR lpUpgradeCode,
          __in     BUNDLE_INSTALL_CONTEXT context,
          __inout  PDWORD pdwStartIndex,
          __out_ecount(MAX_GUID_CHARS+1)  LPWSTR lpBundleIdBuf
            )
{
    return BundleEnumRelatedBundle(lpUpgradeCode, context, pdwStartIndex, 
lpBundleIdBuf);
}

2) Yes, and write code in the application for the querying and invoking of the 
bundle.
3) One could, though I just looked and in my use case I hard coded the upgrade 
code.

I implemented a custom switch to my the BA, so that I could customize the user 
experience. (Display minimal/no UI while checking, display full UI if update is 
found, auto close the bundle if no update is found, etc.) The updates have been 
in Wix for some time, the 3.9 RC has my changes for allowing the engine to 
download and parse the atom feed instead of having to do it from within your BA.

-----Original Message-----
From: gregbty [mailto:greg.bea...@gmail.com] 
Sent: Wednesday, August 27, 2014 2:08 PM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Updater application using Bootstrapper UI/Bundle

Thanks for the quick response! So essentially I will need to:

1) Create a wrapper for butil (if you have an example that would be great)
2) Install the wrapper with my application
3) Add the WixBundleProviderKey to my application so that I can save the value 
to use with the wrapper later

This will allow me to call to the wrapper with the key and basically open the 
Bootstrapper as an "updater". From there I can do all the necessary leg work in 
the OnDetectUpdateBegin event, etc to download and install the appropriate 
update, if there is one of course. Is that correct? Is this part of the WiX 3.9 
RC?



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Updater-application-using-Bootstrapper-UI-Bundle-tp7596579p7596589.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to