PDA

View Full Version : Installation Updates



NewsArchive
03-04-2021, 02:59 AM
So, all of a sudden I have 2 customers that want to run our software
twice... same program but different data sets and different folders.
This is not a problem, until we start updating. Then, like it's always
been, the update software evidently looks in the system registry and
updates the last one installed.. because that's what's in the registry.

Is there a way for the install software to upgrade the program from
where it's run from instead of the location that is stored in the
registry? If so, how, and what are the pitfalls?

Thanks,

--
Ray Rippey
VMT Software

NewsArchive
03-14-2021, 02:19 AM
Anyone? Anyone at all?

Ray Rippey
VMT Software

NewsArchive
03-14-2021, 02:19 AM
Wellll.... if you insist.

You don't say whether your update is manual or web-based.
Either way, you could certainly program what you're suggesting.
You have complete control over reading the registry and over setting
paths and locations.

But might I suggest that you're asking the wrong question.

How many software packages do you know that support such behavior?
Can you install two separate installations of the same version of MS
Word on one computer? And update them independently?
How about two installations of Chrome?
Or two installations of Notepad?

Much better to make your app a bit smarter, so you can start it with a
parameter in a shortcut to point it at the data folder/set that a
particular user wishes to use. Then you can have dozens of sets of
data, but only one app that needs to be updated.

jf

NewsArchive
03-14-2021, 02:20 AM
+1

In a prior life, I had a conversion app that processed all of the
known data sources. But the app was only in one place.

>
>Much better to make your app a bit smarter, so you can start it with a
>parameter in a shortcut to point it at the data folder/set that a
>particular user wishes to use. Then you can have dozens of sets of
>data, but only one app that needs to be updated.

Jeff Slarve
www.jssoftware.com

I will occassionally post some of my automagraph images here:
https://twitter.com/automagraph
They are mostly created with my Clarion/ImageEx app.

NewsArchive
03-14-2021, 02:21 AM
I have to agree with Mrs No one at all.

Having several datasets on one machine is no problem, but once you have two
different versions of the "same" EXE, you just have to wait for the next
support call.

The "program behaves like this and that" and you will then have to guess, which
version the calling person is talking about.

Having two different desktop links make your life easier! Pass one or more
parameter and you are good:

drive:\folder\program.EXE c:\data_01

drive:\folder\program.EXE c:\data_02

Wolfgang

Regards,
Wolfgang Orth
www.odata.de

Please note:
From time to time it happens, that I overlook a reply to my postings.
Please don't be angry.
In case of an emergency, try to contact me via mail.

Bitte beachten:
Von Zeit zu Zeit passiert es mir, dass ich Antworten auf meine Postings übersehe.
Bitte nicht böse sein.
Im Notfall bitte Kontakt per Mail versuchen.

NewsArchive
03-14-2021, 02:22 AM
Good points. I can actually run one app on different sets of data.
That's not the total issue here. I have two different 'companys' running
two different apps on the same computer.. and they might be different
versions. So they might have support/upgrades on one app and not the
other. It's really strange.

But you are correct. Most programs need a different computer if they are
to be different versions... even different data. And it's 2 customers
that want to do this. I've already told them they'll probably have to
get a different computer. Just thought there was something simple I can do.

Thanks,

Ray Rippey
VMT Software

NewsArchive
03-14-2021, 02:22 AM
> I have two different 'companys' running
> two different apps on the same computer.. and they might be different
> versions.

ahhh, all those useless informations.... good that you spared them from your
original question <G>


Okay, you then can at least set different background colours at the windows, to
let the user know, in what program he / she is when doing a support call during
a mental breakdown because "all of the sudden nothing works!".

How did you perform the updates until now?

Does the user have Admin permissions?

You might consider to start the Updater.EXE from the Main Menu. You can pass
the target folder as a parameter.

LOC:Folder_to_EXE = ... extract the folder from COMMAND(0)

RUN('"' & LOC:Location_of_Update_EXE & '\' & LOC:Folder_to_EXE &'"')

... or something like this.

Wolfgang

NewsArchive
03-14-2021, 02:23 AM
if it helps, I have this within SB script:

Set Variable %_SB_INSTALLDIR% to "%_SB_PARAM1%"

and parameter is wanted installation folder sent by program which one is
calling for update

Darko

NewsArchive
03-14-2021, 02:23 AM
So the company name is at the top of the screen and it depends on the
data set used. I update via SetupBuilder and it always updates the
program last installed.. even if I run the update from the other program.

I think I'm going to not pursue messing up my install program just for
these two folks that are too cheap to buy another computer even though
it's a different business.

I should of, and probably will insist if they're going to do it this
way, they won't be able to purchase the upgrade/support packages
separately. That way I can just have one program on the computer.

I use the shortcut to determine where the data is located. Then it's a
simple matter of adding a different shortcut. I do that on my
development machine for my different demo data sets.

Thanks again for the different idea's.

Ray Rippey
VMT Software

NewsArchive
03-14-2021, 02:24 AM
Hello Ray,

>I think I'm going to not pursue messing up my install program just for
>these two folks that are too cheap to buy another computer even though
>it's a different business.

Sausage with some extra sauce costs extra money.

And sorry for the rubbish I wrote (it was late at night):

> LOC:Folder_to_EXE = ... extract the folder from COMMAND(0)
>
> RUN('"' & LOC:Location_of_Update_EXE & '\' & LOC:Folder_to_EXE &'"')
>

What I meant to say was, that you can pass the target folder to your installer.
One of my programs has an auto-updater, which runs silent (well, it is visible,
but can't be altered by the user). If no parameter is set, it works as a normal
installer. I believe... I made it 4 years ago and since then it just works. At
least I have heard no complaints. But maybe because nobody is using
it.

Wolfgang Orth

NewsArchive
03-14-2021, 02:24 AM
That's what I was looking for.
Thanks.

Ray Rippey
VMT Software

NewsArchive
03-14-2021, 02:25 AM
Yeah, I know how to do an auto updater. However, with the amount of
customers I have I don't even notify them if there is an update. There
is a page in my program where they can see any updates I've done and
what's in them. (I use a combination of jhtml and a help file I publish
online). So the folks that are interested in keeping up, they update all
the time, so I consider them my beta testers in a way.

I've made mistakes and created bad bugs.. not too often, but it's
happened. So if I were to notify everyone of an update and I had a bug,
there would be hell to pay. This way if there is a problem, I find out
about it and can fix it fairly quickly.


Ray Rippey
VMT Software

NewsArchive
03-14-2021, 02:33 AM
Ray,

from the technical point-of-view, you need two different GUIDs to register
the same APP with Windows multiple-times (this will generate different
uninstall and update entries). That's why you can only have one
installation of, say, the same Microsoft Word app version.

What about using the "Store Properties in INI File" option in "Install Web
Update Client". This "should" make the update process independent from the
registry.

But you have to make sure that your updater does not read installation
locations from "the other" app.

Friedrich

NewsArchive
03-14-2021, 03:06 AM
>Ray,
>
>from the technical point-of-view, you need two different GUIDs to register
>the same APP with Windows multiple-times (this will generate different
>uninstall and update entries). That's why you can only have one
>installation of, say, the same Microsoft Word app version.


GOOD point!

Thank you, Friedrich!

Wolfgang Orth

NewsArchive
03-15-2021, 01:05 PM
> from the technical point-of-view, you need two different GUIDs to register
> the same APP with Windows multiple-times (this will generate different
> uninstall and update entries). That's why you can only have one
> installation of, say, the same Microsoft Word app version.
>
> What about using the "Store Properties in INI File" option in "Install Web
> Update Client". This "should" make the update process independent from the
> registry.

That is how our custom SetupBuilder installers work.

At install time we modify the GUID of the application to be installed based
on the version of Clarion you are installing.

That is how our installers allow you to install:

ProScan for Clarion 9
ProScan for Clarion 10
ProScan for Clarion 11

Etc.

Each "product" can be uninstalled or updated independently of the others.

The also appear in Add/Remove programs as separate entries.

SetupBuilder rocks!

:-)

Charles

--
-------------------------------------------------------------------------------------------------------
Charles Edmonds

cjeByteMeSpammers@lansrad.com (remove the "ByteMeSpammers" to email me)

www.learnh5fast.com - Master building web and mobile apps with Clarion H5!
www.clarionproseries.com - ProDocument, ImageEx, ProScan, ProImage, ProPath
and other Clarion developer tools!
www.seal-soft.com - The xProduct Clarion templates - xWordCOM, xToolTip,
xDataBackup Manager and more!
www.ezchangelog.com - "Free ChangeLog software to manage your projects!"
www.setupcast.com - "A revolutionary new publishing system for software
developers - enhanced for SetupBuilder users!"
www.ezround.com - "Round Corner HTML tables with matching Banners, Buttons
and Forms - Now with PNG support!
www.fotokiss.com - "World's Best Auction Photo Editor"
www.lansrad.com - "Intelligent Solutions for Universal Problems"
-------------------------------------------------------------------------------------------------------