PDA

View Full Version : Recognizing Future Versions of Clarion



NewsArchive
01-20-2014, 12:38 AM
A question has come up in the skype chats: Why doesn't SB
automatically recognize new versions of Clarion. IOW, can't it use
whatever "pattern" applies, to automatically recognize the new
version. I seem to remember Friederich addressing this question quite
well a couple of years ago, but I can't find the message.

To me it makes sense that he cannot predict the future (and things do
change). Also, 3rd-party products need to be tested with the new
version, so there may has well be a new installer.

Regardless, I would be interested in reading that message again. Does
anyone know when it was posted?

Mike Hanson
www.boxsoft.net

NewsArchive
01-20-2014, 12:38 AM
Hi Mike,

> A question has come up in the skype chats: Why doesn't SB
> automatically recognize new versions of Clarion. IOW, can't it use
> whatever "pattern" applies, to automatically recognize the new
> version. I seem to remember Friederich addressing this question quite
> well a couple of years ago, but I can't find the message.
>
> To me it makes sense that he cannot predict the future (and things do
> change). Also, 3rd-party products need to be tested with the new
> version, so there may has well be a new installer.
>
> Regardless, I would be interested in reading that message again. Does
> anyone know when it was posted?

Yes, you are right. It is not possible to recognize future versions of
Clarion because Product GUIDs and Upgrade GUIDs for future Clarion builds
are unknown yet (e.g. the Product/Upgrade GUID for Clarion 9.2 or Clarion
10). You always have to wait until it becomes available and then test the
3rd-party product against the new Clarion version. And things may change
from Clarion version to version. For example, C9.0 and C9.1 (the next
pre-release) can coexist on the same machine now. This is new. Or the
detection mechanism for C7.0, C7.1, C7.2 and C7.3 -- it made use of a
completely different detection schemes.

BTW, the same applies to most other products. For example, the next Visual
C++ 2013 runtime build. The Product GUID for it is unknown and you have to
wait until it's released.

Friedrich

NewsArchive
01-20-2014, 12:39 AM
Thanks for the additional info. :)

Mike Hanson
www.boxsoft.net

NewsArchive
01-20-2014, 12:39 AM
Hi Friedrich,

> Yes, you are right. It is not possible to recognize future versions of
> Clarion because Product GUIDs and Upgrade GUIDs for future Clarion builds
> are unknown yet (e.g. the Product/Upgrade GUID for Clarion 9.2 or Clarion

JAT - I assume SetupBuilder has a list of these GUIDs internally that
must be updated with each new SoftVelocity release.
Would it not be possible for that list to exist at a fixed location
within the Registry and be updated by each new SoftVelocity installer?

So instead of SetupBuilder maintaining the list of unknown GUIDs each
new Clarion release install would do it's normal stuff and then update
a _fixed_ location Registry list of versions/GUIDs.

I understand SoftVelocity are using a pretty good installer so it
should be possible :-)

Graham

NewsArchive
01-20-2014, 12:40 AM
sorry BUT ...
when I update DMC I use the same GUID ok BUT

when I created the Runtime Version I decided to have a "similar" but
"linked" GUID and I simply copied the DMC one and changed some of the
"first" lot chars so as to always have the "same" family

{500CCD05-81A0-11D9-390C-009F3F177E87}
{500CCRT5-81A0-11D9-390C-009F3F177E87}

500CCis common
D05 is dmc
RT5 is runtime
etc ...
easy enough, no ?

SV _could_ use this trick in advance and send them to Fredrich ....

should they is another question <g>
is this good pratice is another question ...

--
JP
__________________________________________________ _____

For those who do not understand ... : "Qui bene amat bene castigat."
__________________________________________________ _____

DMC - Data Management Center : a tool to let you Migrate Import Export
Transfer your Data
www.dmc-fr.com

NewsArchive
01-20-2014, 02:08 AM
Hi Graham,

> I understand SoftVelocity are using a pretty good installer so it should
> be possible :-)

Well, from the technical point-of view everything is possible <g>. But IMO,
a self-updating Product GUID list (controlled by SoftVelocity) creates more
harm than benefits.

As it is now, if a 3rd-party installer detects "Clarion 9.1" then the
end-user can be sure that the vendor has already tested the product on
Clarion 9.1. If Clarion 10 is detected means that the product is Clarion 10
compatible (or at least Clarion 10 aware). Clarion 9.1 has not been
detected means I have to visit the vendor's web site to see if an update is
available that complies with the latest SoftVelocity standards.

Can a 3rd-party vendor really be sure that his 3rd-party product works
without modifications on, say, Clarion 10? Without a crystal ball, no.

But let us assume, the crystal ball tells me that my product is already
compatible with Clarion 10. Absolutely no problem. I can add a simple
"Browse for 'unsupported' Clarion Version" button to my install and let the
user select the future Clarion 10.0 or Clarion 11.0 installation folders and
install all templates, CLWs, INCs, LIBs and DLLs created way back in the
past and let the end-user see if it works. Why not, if the 3rd-party vendor
needs the extra support request load <g>.

What do we do in our own LSZip 3rd-party product? The LSZip install image
supports Clarion 6.0, 6.1, 6.2, 6.3, C7.0, C7.1, C7.2, C7.3, C8.0, C9.0, and
C9.1. We stopped support for C2, C4, C5, C55. You can run the same setup
multiple-times and let it install files and register templates for each and
every supported Clarion version. You can even uninstall/unregister LSZip
for specific Clarion versions because the installer supports multiple-GUIDs.
But when C9.2/C10 becomes available in the future then the install image
does not support it because I have no idea if LSZip is already compatible
with the next Clarion version.

Friedrich

NewsArchive
01-20-2014, 03:07 AM
Hi Fredrich,

My thinking is a bit different :

Softvelocity creates (with your help) a set of pre defined GUID's, say

CLA091XX-XXXX ...
CLA092XX-XXXX ...
CLA093XX-XXXX ...
CLA094XX-XXXX ...
CLA095XX-XXXX ...
CLA100XX-XXXX ...
CLA101XX-XXXX ...
CLA102XX-XXXX ...
CLA103XX-XXXX ...
CLA104XX-XXXX ...
CLA105XX-XXXX ...
CLA110XX-XXXX ...

here I take a "pricipile" that no major will have more than 6 minor but
this can be changed of course(here I am "reading History)

This pre defined list is sent to you

You add in today's SB this list so as to detect all these versions

In your code you detect if the SB user is SoftVelocity or not (easy I
presume for you)
You can also add a "global flag" which YOU can easily change-set when
SV releases "open X version" in _OUR_ SB version)

IF SoftVelocity then YOU open for them ONLY this detection
This means that SoftyVelocity today could create installers for ANY of
their version WITHOUT WAITING for you to do anything

The 9.1 overwirte would NOT have hapened!

Now you can also add in YOUR code that IF YOUR "released version" FLAG
is found true then you open the detection for us all!
(after receiving confirmation from SV of a new "version" you ONLY have
to SET this flag to X or Y etc to "trigger" OUR code to be able tio USE
"detect clarion version X"

Less work for all - NO overwittting problems - NO waisted time for SV
as you did all the work 'today for any future version (as you anyway
already do <g>)

SV skips a minor ? no pb - forget about that GUID ....

This would solve all these problems and none of us could detect in
advance a non released version but SV could create the installer
without waiting for you to send it to them, see the win win for all ?

--
JP
__________________________________________________ _____

For those who do not understand ... : "Qui bene amat bene castigat."
__________________________________________________ _____

DMC - Data Management Center : a tool to let you Migrate Import Export
Transfer your Data
www.dmc-fr.com

NewsArchive
01-20-2014, 08:39 AM
Hi JP,

> My thinking is a bit different :
>
> Softvelocity creates (with your help) a set of pre defined GUID's,
> say
>
> CLA091XX-XXXX ...
> CLA092XX-XXXX ...
> CLA093XX-XXXX ...
> CLA094XX-XXXX ...
> CLA095XX-XXXX ...
> CLA100XX-XXXX ...
> CLA101XX-XXXX ...
> CLA102XX-XXXX ...
> CLA103XX-XXXX ...
> CLA104XX-XXXX ...
> CLA105XX-XXXX ...
> CLA110XX-XXXX ...
>
> here I take a "pricipile" that no major will have more than 6 minor
> but this can be changed of course(here I am "reading History)
>
> This pre defined list is sent to you
>
> You add in today's SB this list so as to detect all these versions

And what happens if, say, LSZip is not compatible with the next Clarion 9.2
version? All users will be able to install LSZip on C9.2 (untested) and the
hell breaks loose. As it is now, SoftVelocity provides the 3rd-party
developer with the new pre-release, the 3rd-party vendor can test his
product and make the required modifications (if any), then enable support
for the new Clarion version in the installer. That's it. In other words,
if the installer detects Clarion 9.1 then the 3rd-party developer has tested
his product on the new Clarion version. If it turns out that the 3rd-party
product works without any modification, the only action to be done is to
mark the "Clarion 9.1" checkbox in SB to enable Clarion 9.1 support. And if
the new modified template code is not compatible with previous Clarion
versions or it is too time consuming to support older versions (e.g. Clarion
6.0) then just unmark the Clarion 6.0 checkbox and support for it is gone.

BTW, there is a reason why Microsoft makes the manifest compatibility GUID
for the next Windows version available after the initial release date <g>.
They don't provide your with the GUID for Windows 8.2 or Windows 9.0 because
you can't make your product Windows 8.2 or Windows 9.0 compliant yet.

> In your code you detect if the SB user is SoftVelocity or not (easy I
> presume for you)
> You can also add a "global flag" which YOU can easily change-set when SV
> releases "open X version" in _OUR_ SB version)
>
> IF SoftVelocity then YOU open for them ONLY this detection
> This means that SoftyVelocity today could create installers for ANY of
> their version WITHOUT WAITING for you to do anything

And what is the real advantage of this design? Okay, the installer compiled
in January 2014 could auto-detect a "Clarion 10" version released in
December 2014. But do you already know if improvements or fixes in Clarion
10 do not have positive or negative side effects which require modifications
in the 3rd-party product?

>
> The 9.1 overwirte would NOT have hapened!
>

The decision to change the Clarion 9.1 deployment strategy from "upgrade"
(overwrite Windows registration information) to "coexist" (do not overwrite)
was made at a later stage. Sometimes, you have to change plans to improve
things. And you don't know upfront what you have to change to improve <g>.
So it really makes sense to not let the installer auto-detect an upcoming
Clarion 10. Perhaps there will be another template registration mechanism
in Clarion 10 because new security enhancements in Windows 8.2 require
modifications in this process? Or maybe there will be a global template
database for all new Clarion editions. Do you already have this information
today? Or the method to detect an unregistered Clarion 9.1 environment (to
avoid template registration failures in case the IDE is not
registered/validated). In a dynamic software development process all kind
of things change and so it is impossible to use a static deployment method.

> Now you can also add in YOUR code that IF YOUR "released version" FLAG is
> found true then you open the detection for us all!
> (after receiving confirmation from SV of a new "version" you ONLY have to
> SET this flag to X or Y etc to "trigger" OUR code to be able tio USE
> "detect clarion version X"
>
> Less work for all - NO overwittting problems - NO waisted time for SV as
> you did all the work 'today for any future version (as you anyway already
> do <g>)

IMO, not less but more work on the long run and Russian roulette <g>

> SV skips a minor ? no pb - forget about that GUID ....
>
> This would solve all these problems and none of us could detect in advance
> a non released version but SV could create the installer without waiting
> for you to send it to them, see the win win for all ?

I think it would not be a win-win situation.

But my $.02 only <g>

Friedrich

NewsArchive
01-20-2014, 09:18 AM
You misunderstood me - I badly expressed myself

all this has NOTHING to do with 3rdparty sellers
SV still sendss them a prereales etc and users still wait for sellers
to provide updated versions

This is ONLY at SV level

ONLY SV has access 'today' to all versions ....

The "user detection flag" is manualy done by *YOU* when SV has released
their beta so that sellers can download a new build and recompile and
detect the new version!

So no hell and no errors!

--
JP
__________________________________________________ _____

For those who do not understand ... : "Qui bene amat bene castigat."
__________________________________________________ _____

DMC - Data Management Center : a tool to let you Migrate Import Export
Transfer your Data
www.dmc-fr.com

NewsArchive
01-20-2014, 09:19 AM
Hi JP,

>
> You misunderstood me - I badly expressed myself
>

Sorry, I do not see any advantage. But you can discuss this with SV and I
will build-in whatever they need.

Friedrich

NewsArchive
01-20-2014, 09:20 AM
you :
one time work to add SV versions instead of each time they release
minor major as per a GUID Table
one time work to "open" the detect new version with a flag to hide
unhide instead of each time (again)

SV :
no need to wait for your new version to release a pre release like last
week

Us :
no danger of versions overwritting a previous one

nothing more -
is it worth it ?

not for me to decide as it is just a "thought on how to avoid this
overwritting glitch" ...

--
JP
__________________________________________________ _____

For those who do not understand ... : "Qui bene amat bene castigat."
__________________________________________________ _____

DMC - Data Management Center : a tool to let you Migrate Import Export
Transfer your Data
www.dmc-fr.com

NewsArchive
01-20-2014, 09:21 AM
This has _everything_ to do with 3rd-party installers. SetupBuilder
checks whether a given Clarion version is available, only to support
3rd-party developers. Otherwise, the feature is not needed. :)

Mike Hanson
www.boxsoft.net

NewsArchive
01-20-2014, 09:28 AM
Mike

my IDEZA has nothing to do with "us" but only to save time for SV and
make Fredrich's work a "one time" instead of each version but as no one
sees the same way .... alles is gut! <g>

--
JP
__________________________________________________ _____

For those who do not understand ... : "Qui bene amat bene castigat."
__________________________________________________ _____

DMC - Data Management Center : a tool to let you Migrate Import Export
Transfer your Data
www.dmc-fr.com

NewsArchive
01-20-2014, 09:29 AM
Precisely! No one can predict the future. ;)

Mike Hanson
www.boxsoft.net

NewsArchive
01-20-2014, 09:29 AM
Isn't that supposed to be a hexadecimal number. I don't believe you
can use an "R" there. ;)

Mike Hanson
www.boxsoft.net

NewsArchive
01-20-2014, 09:30 AM
I have NO idea
It just works for me .... and all my users.

--
JP
__________________________________________________ _____

For those who do not understand ... : "Qui bene amat bene castigat."
__________________________________________________ _____

DMC - Data Management Center : a tool to let you Migrate Import Export
Transfer your Data
www.dmc-fr.com

NewsArchive
01-20-2014, 09:30 AM
You must be storing that as a string, not as a regular GUID.

Mike Hanson
www.boxsoft.net

NewsArchive
01-20-2014, 09:31 AM
Mike Hanson [BoxSoft] formulated the question :
> 500CCRT5-81A0-11D9-390C-009F3F177E87

Next question would be what decimal number does

500CCRT5-81A0-11D9-390C-009F3F177E87

represent, there a T in there so it's at least base 20 'duo-decimal'?
Oh, boy that's really GUID :-)

Graham

NewsArchive
01-20-2014, 09:31 AM
LOL

Mike Hanson
www.boxsoft.net

NewsArchive
01-20-2014, 09:33 AM
well no OS emailed me to ask what those were .... so I presume they are
accepted as valid

--
JP
__________________________________________________ _____

For those who do not understand ... : "Qui bene amat bene castigat."
__________________________________________________ _____

DMC - Data Management Center : a tool to let you Migrate Import Export
Transfer your Data
www.dmc-fr.com

NewsArchive
01-20-2014, 10:56 AM
JP,

> nothing more -
> is it worth it ?
>
> not for me to decide as it is just a "thought on how to avoid this
> overwritting glitch" ...

The "overwrite" issue was caused by a minor deployment strategy oversight in
the C9.1 pre-release and immediately caught and fixed for the next build.
Even with your pre-defined GUID idea, the initial C9.1 would have
"overwritten" C9.0 entries under the same circumstances ;-)

Friedrich

NewsArchive
01-20-2014, 10:57 AM
Oh! then I read all wrong - I thought it was because the sb version
used for this first release was not 9.1 "compatbible" was the cause ...

My error and useless idea then <g>

--
JP
__________________________________________________ _____

For those who do not understand ... : "Qui bene amat bene castigat."
__________________________________________________ _____

DMC - Data Management Center : a tool to let you Migrate Import Export
Transfer your Data
www.dmc-fr.com

NewsArchive
01-20-2014, 10:58 AM
> Oh! then I read all wrong - I thought it was because the sb version used
> for this first release was not 9.1 "compatbible" was the cause ...

No. SoftVelocity don't need a Clarion 9.1 compatible SetupBuilder to
install Clarion 9.1 ;-) Only 3rd-party developers need a Clarion 9.1
compatible system to auto-detect and support Clarion 9.1.

Friedrich

NewsArchive
01-20-2014, 10:58 AM
>
> Precisely! No one can predict the future. ;)
>

Unfortunately, that's true ;)

Friedrich

NewsArchive
01-20-2014, 11:03 AM
This indeed solves the early 9.1 problem now that they are aw<are of
this "case"

Merci (and sorry for the posts insisting on a useless feature)

Owe you another Daiquiri when we next are in Bahamas with our feet up
on the table watching a F1 GP , keeping an eye opened on the beach in
front of us on Emily on her horse (the pony grew up) and Alexy on his
bike while Andrea and Princess spend our money in the local shops
<vbg>!!!

--
JP
__________________________________________________ _____

For those who do not understand ... : "Qui bene amat bene castigat."
__________________________________________________ _____

DMC - Data Management Center : a tool to let you Migrate Import Export
Transfer your Data
www.dmc-fr.com

NewsArchive
01-20-2014, 11:40 AM
Maybe deleting posts that give complete strangers the names of
someone's kids would be good.

Jeff Slarve
www.jssoftware.com
www.twitter.com/jslarve
I'll search help files & Google for you.

NewsArchive
01-21-2014, 12:51 AM
The names given are fictuous and any ressemblance with anyone is out of
our control

The names used here were made mublic by their owners in previous posts
.....

--
JP
__________________________________________________ _____

For those who do not understand ... : "Qui bene amat bene castigat."
__________________________________________________ _____

DMC - Data Management Center : a tool to let you Migrate Import Export
Transfer your Data
www.dmc-fr.com

NewsArchive
01-21-2014, 12:51 AM
>Only 3rd-party developers need a Clarion 9.1
>compatible system to auto-detect and support Clarion 9.1.

I think I said that already, but perhaps no one was listening. ;)

Mike Hanson
www.boxsoft.net

NewsArchive
01-21-2014, 12:52 AM
Welcome to the chopped liver club <g>

--

Russ Eggen
RADFusion International, LLC

NewsArchive
01-21-2014, 12:52 AM
LOL

Mike Hanson

NewsArchive
01-21-2014, 12:52 AM
Mike,

> I think I said that already, but perhaps no one was listening. ;)

What?

--
Lee White

RPM Report Viewer.: http://www.cwaddons.com/products/rpm/
RPM Review........: http://www.clarionmag.com/cmag/v11/v11n06rpm.html
Report Faxing.....: http://www.cwaddons.com/products/afe/
---Enroll Today---: http://CWaddons.com

Creative Reporting: http://www.CreativeReporting.com

Product Release & Update Notices
http://twitter.com/DeveloperPLUS

Windows 8 brings us "The Oval, Bumper Car, Roller Coaster of Wait!"

NewsArchive
01-21-2014, 12:53 AM
My response to JP at 9:58 this morning said:

>This has _everything_ to do with 3rd-party installers. SetupBuilder
>checks whether a given Clarion version is available, only to support
>3rd-party developers. Otherwise, the feature is not needed. :)

Mike Hanson
www.boxsoft.net

NewsArchive
01-21-2014, 12:53 AM
Mike,

>> What?
>
> My response to JP at 9:58 this morning said:

You took my response literally... you should have known better!<g>


>> 3rd-party developers. Otherwise, the feature is not needed. :)

Exactly. It's not necessary although Friedrich is kind enough to
include it. I still use the ability but I present it differently.

If System does have Clarion 9.0 Then
Set Variable %CLARION_IDE_IS_BLANK% to ""
Set Variable %CLARION_IDE% to "%_SB_TMP%"
Set Variable %CLARION_IDE_DIR% to "%_SB_TMP%" [Remove File Name]
Set Variable %CLARION_IDE_DIR% to FUNCTION:Extract Full Folder
Else
Set Variable %CLARION_IDE_IS_BLANK% to "1"
Set Variable %CLARION_IDE% to ""
Set Variable %CLARION_IDE_DIR% to "c:\clarion9"
End

I then use %CLARION_IDE_DIR% in a Select Install Folder dialog.

--
Lee White

RPM Report Viewer.: http://www.cwaddons.com/products/rpm/
RPM Review........: http://www.clarionmag.com/cmag/v11/v11n06rpm.html
Report Faxing.....: http://www.cwaddons.com/products/afe/
---Enroll Today---: http://CWaddons.com

Creative Reporting: http://www.CreativeReporting.com

Product Release & Update Notices
http://twitter.com/DeveloperPLUS

Windows 8 brings us "The Oval, Bumper Car, Roller Coaster of Wait!"

NewsArchive
01-22-2014, 02:17 AM
>You took my response literally... you should have known better!<g>

D'oh!

Mike Hanson
www.boxsoft.net