Are you sure that you even have a problem?
Yes, certainly i do ....... :(

Thanks a lot Mark...that was some excellent stuff there...but see there's
some difference between making a installer for a production level software
or making one for demo purpose...

As I told before,its a simple web app for the BA's just for some proof of
concept and if I try to get too techie..they will be pissed. They don't want
to perform so many steps for a proof of concept stuff....they just want to
click 2 or 3 times and want that the Installer should be smart enough to do
everything for them....

I wholly understand, that the each and every step you mentioned above are
absolute necessity for a production level installer.

Anyways, so rite now i am trying to check if the user machine has JAVA
installed or not using this batch script:

@echo off
::Find the current (most recent) Java version
start /w regedit /e reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java
Runtime Environment"
type reg1.txt | find "CurrentVersion" > reg2.txt
if errorlevel 1 goto nojava
for /f "tokens=2 delims==" %%x in (reg2.txt) do set JavaTemp=%%~x
if errorlevel 1 goto nojava
echo Java Version = %JavaTemp%
del reg1.txt
del reg2.txt

But its not running ... so the fite is still on....

Cheers


On 7/19/07, Mark H. Wood <[EMAIL PROTECTED]> wrote:

On Wed, Jul 18, 2007 at 01:06:04PM -0400, broken connection wrote:
> At the end, the only thing that should matter to TOMCAT or ANT is that
they
> should be able to find the classes in the JRE....so I don't understand,
why
> you guys don't recommend this????

Because if everybody did it that way, customers' machines would be
littered with dozens of copies of the JRE, each a different version,
and the customers would descend into the Java annex of DLL Hell.  Not
good customer relations.  Remember: you are not the only software
vendor in the universe, and your product is not the only product.

Oh, wait...everybody *does* do it that way. :-{

Wearing my sysadmin. hat:  I would say that it is perfectly okay for
your install package to *use* its own copy of JRE to run its own copy of
Ant to install your product.  It is NOT OKAY to leave these behind
like muddy footprints on the carpet after the work is done.  A proper
installer should:

1.  check the PATH and JAVA_HOME to see if there is already a JRE, and
    not install another one if so;

2.  never install Ant;

3.  check CATALINA_HOME to see if there's already a Tomcat installed,
    and not install another one if so;

4.  ask the person running it for corrections to all of these paths,
    and for permission to install *anything* other than the product
    itself;

5.  (a bit offtopic) accept all of this information on the commandline
    so that it can be scripted.

A good installer never installs anything that the customer has already
provided.  A good installer never behaves as though it thinks it is
smarter than the customer, even if it is.

A polite installer might simply report that it cannot find X, version
M.N is available on the CD for the sysadmin.s convenience, and would
he be pleased to install that, to install an equal or better version
while this installer waits, or to abort the installation of this
product.  To be frank, most days I'd be satisfied if an installer just
told me *exactly* what it wanted and then quit.  That's a lot better
than many installers that have afflicted me over the years.

Yes, it's a lot of work.  The first time.  After that, if you built
your installer well, you only need to tweak it a bit for the next
product.  Your customers will remember that your product told them
what they needed to know, did what you said it would do, and didn't
cause any trouble.  That is so rare that they will think of you first
the next time they need software.

--
Mark H. Wood, Lead System Programmer   [EMAIL PROTECTED]
Typically when a software vendor says that a product is "intuitive" he
means the exact opposite.



Reply via email to