[wix-devs] 6772 - ExePackage ARP entry

Sean Hall r.sean.hall at gmail.com
Wed May 4 13:10:10 PDT 2022


I updated the example to be:

    <ExePackage Id="MyExe" SourceFile="my.exe"
DetectCondition="MyExe_Version = v1.2.3" InstallCondition="NOT
MyExe_Version OR MyExe_Version < v1.2.3>

This will only install MyExe if it is missing or older.

With your example, the bundle would uninstall the MyExe package during
uninstall if the installed version is greater than or equal to v1.2.3. The
package is not Permanent. This new feature means that even though there are
no UninstallArguments, it will still be uninstalled and since it uses the
QuietUninstallString from ARP it should uninstall the newer version instead
of a no-op from the bundled .exe.

On Wed, May 4, 2022 at 2:09 PM Bob Arnson via wix-devs <
wix-devs at lists.wixtoolset.org> wrote:

> > >  DetectCondition="MyExe_Version >= v1.2.3"
> >
> > The strict equals was intentional. If the installed version is
> different, it is unlikely
> > that the bundle should be uninstalling it.
>
> True but it usually would suffice for installation.
>
>
> > > VersionVariable="MyExe_Version"
> >
> > This is redundant because it is the default value.
>
> I missed that. And I can't say I'm a fan. I can't think of any other
> instances of that kind of default...other than log path variables. Maybe
> that's enough precedent?
>
> > > If QuietUninstallString doesn't exist, should it fall back to
> > UninstallString? Should the author be able to specify the value name?
> >
> > I was thinking maybe something like Quiet="yes/no". I'm not sure it's a
> good
> > idea to fallback to UninstallString, or maybe it's only OK during full
> UI. Are there
> > really installers out there that are writing uninstall strings to custom
> value
> > names?
>
> Probably not. QuietUninstallString isn't technically required, per old
> certification guidelines; UninstallString is.
>
>
> https://docs.microsoft.com/en-us/windows/win32/win_cert/certification-requirements-for-windows-desktop-apps#5-apps-must-support-a-clean-reversible-installation
>
> Falling back would be polite but risky. I'm fine saying this is for
> BundlePackage and other, well-behaved engines.
>
> >
> > On Wed, May 4, 2022 at 1:03 PM Bob Arnson <bob at firegiant.com> wrote:
> >
> > > Very cool.
> > >
> > > The example should be something like this, no?
> > >
> > > <ExePackage Id="MyExe" SourceFile="my.exe"
> > > DetectCondition="MyExe_Version >= v1.2.3">
> > >     <ArpEntry Id="MyExeGuid" Win64="no"
> > > VersionVariable="MyExe_Version" /> </ExePackage>
> > >
> > > If QuietUninstallString doesn't exist, should it fall back to
> > > UninstallString? Should the author be able to specify the value name?
> > >
> > > I agree that running from a non-secure location isn't great.
> > > Prohibiting it is probably the safest choice...otoh, it's probably a
> > > common case (e.g., Squirrel).
> > >
> > > -----Original Message-----
> > > From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of
> > > Sean Hall via wix-devs
> > > Sent: Wednesday, 4 May, 2022 13:44
> > > To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
> > > Cc: Sean Hall <r.sean.hall at gmail.com>
> > > Subject: [wix-devs] 6772 - ExePackage ARP entry
> > >
> > > I wrote up a WIP on using an ARP entry to help detect and uninstall an
> > > ExePackage -
> > > https://wixtoolset.org/development/wips/6772-exepackage-arp-entry. Any
> > > feedback?
> > >
> > _________________________________________________________________
> > ___
> > > WiX Toolset Developer Mailing List provided by FireGiant
> > > http://www.firegiant.com/
> > >
> > _________________________________________________________________
> > ___
> > WiX Toolset Developer Mailing List provided by FireGiant
> > http://www.firegiant.com/
> ____________________________________________________________________
> WiX Toolset Developer Mailing List provided by FireGiant
> http://www.firegiant.com/
>



More information about the wix-devs mailing list