Property files and property names and duplicate properties.

Rod Widdowson rdw at steadingsoftware.com
Tue Jun 5 11:24:48 EDT 2018


> 
> Maybe it's simpler to just implement a pre-check that checks for mutually exclusive attributes up front.
> 

This actually leads into another topic I am mulling (but with no conclusion yet) for V4.  

It is very hard to get sensible warning up to the user during installs, particularly windows users.  

If the installer is using ant we can spit out something terse to stdout and stop, and we can even pop something into a log so that’s
largely OK. 

On Windows however the guts of the install is still done by ant but it's in a detached process running Java, what's more it happens
after the UI has completed all interaction.    So currently the best you can do is arrange for the install to fail with an opaque
warning and hope that the user thinks to try again with a log file and can then thumb through several kb of garbage to locate the
error.

So I tend to avoid getting into the position of having to fail or warn.

It is not difficult to write plugins for MSI which can do things - I have never done so, but I have maintained them (.... aeons ago
[1]).  Of course they are written in something which is not Java.  And I am not keen in having rafts of specialized C/C++ in a side
project just to support the msi.  It will rot sure as eggs is eggs.  

I think that VBScript will be very brittle, but maybe that is something to look at.

But I also wonder whether - in the longer term - there might be a way to call through MSI into java and back.  We'd still have the
DLLs but they could be written once and not change much since all they did was bridge in and out of java.  The work could be done in
java, using our full environment.

I'm pretty sure that this is a sucky idea - if Scott hadn't mentioned "warning during the install" twice in less than a week I
wouldn't have mentioned it...

R

[1] http://git.openafs.org/?p=openafs.git;a=tree;f=src/WINNT/install/wix/custom;h=02d34d8fc423c851c187603626b9db0350f8b68e;hb=HEAD



More information about the dev mailing list