RTP weirdness

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

RTP weirdness

Joerg Beekmann, DeepCove Labs (YVR)

We have a bug where #setVariable:value: does not seem to have any effect in the runtime even though it works perfectly in the development environment and in the RTP test environment.

 

We did notice that on Windows XP OSSystemSupport concreteClass returns WinNTSystemSupport. However in defaultPCClassesDeleted

 WinNTSystemSupport is marked for remove by default with a comment that this class is only needed for VW3! This seems strange. Could this be the problem? Anyone else encounter and solve this?

 

 

Joerg

 

 

Reply | Threaded
Open this post in threaded view
|

The Smalltalk Solutions Coding Contest has been Extended

Michael Lucas-Smith

The Coding Contest has been extended until the 19th of April.


While there was a lot of interest in the contest, many people complained

that they could not do it in the time-frame allotted. Unfortunately, this

means we only got a few submissions on the 9th of April.


Because of this, the STIC Board has decided to extend the contest until

the 19th of April. If you wish to participate, just drop me an email

(michael.lucas-smith dontspam _at_ softwarewithstyle.com).


Those who did complete have been granted finalist status and will

compete at Smalltalk Solutions. These two finalists, of course, are

allowed to continue to refine their program.


This means there is one slot left open - so get in and compete for this

last position. If you were unable to complete the contest due to time

constraints, now is your chance.


Best of Luck,

Michael Lucas-Smith

Reply | Threaded
Open this post in threaded view
|

Re: RTP weirdness

Andre Schnoor
In reply to this post by Joerg Beekmann, DeepCove Labs (YVR)
Joerg Beekmann wrote:

>
> We have a bug where #setVariable:value: does not seem to have any
> effect in the runtime even though it works perfectly in the
> development environment and in the RTP test environment.
>
>  
>
> We did notice that on Windows XP OSSystemSupport concreteClass returns
> WinNTSystemSupport. However in defaultPCClassesDeleted
>
>  WinNTSystemSupport is marked for remove by default with a comment
> that this class is only needed for VW3! This seems strange. Could this
> be the problem? Anyone else encounter and solve this
>

Joerg,

I've had a similar problem. It may have to do with the registry key used
to store "environment" variables on Windows. By default, it is something
like #('SOFTWARE' 'Cincom Systems, Inc.' 'VisualWorks'), which might not
be appropriate for a sealed runtime.

You might want to have a look at WinNTSystemSupport>>currentVersion: and
perhaps set the shared variable CurrentVeresion to something else for
your runtime. I'm doing this in order to have the development images not
conflict with runtimes I'm testing on the same machine. My code is like
this:

updateVersionRegistryPath
    "This should be run as the first thing after runtime startup"
    Win95SystemSupport.CurrentVersion := (self isRuntime
        ifTrue:[
            Array
                with: 'SOFTWARE'
                with: Main productClass companyName
                with: Main productClass productFamily
                with: Main productClass releaseBlessing ]
        ifFalse:[
            #('SOFTWARE' 'Cincom Systems, Inc.' 'VisualWorks'),
                (Array with: self imageVersion) ]).


Maybe it helps.
Andre


Reply | Threaded
Open this post in threaded view
|

Re: RTP weirdness

Rob Vens
I did not try this, because many locations in the code seem to refer
to this variable.
I just add another "root" variable, similar to Andre's naming
(companyname, appname, version) according to the following scheme (of
course using env vars on other platforms than Windows):

[HKEY_CURRENT_USER
                [Manufacturer]
                        [ProductName]
                                [ProductVersion] ##.##.##
        HKEY_LOCAL_MACHINE
                [Manufacturer]
                        [ProductName]
                                [ProductVersion] ##.##.##
                                        Company [CompanyName]
                                        Email [EMAIL]
                                        InstallDate [Date]
                                        LogonUser [LogonUser]
                                        ProductID [ProductID]
                                        [ProductName] [TARGETDIR]
                                        User [USERNAME]
                Cincom Systems, Inc.
                        VisualWorks
                                7.4
                                [ProductName] [TARGETDIR]

This is also the scheme I employ when using VisualStudio to generate
installer packages for Windows.
Works like a charm, do not need to change system code, can use
SystemUtils to get the values, etc. Especially the path to the
installation folder is needed in my apps, and this way I can store it
easily.
BTW I also employ an .ini file to store some application specific
values (like the last window size and location, path to some user
folders etc.). This is not appropriate to store inside the image, and
I do not need to save the image this way.
As you will notice I added some extra info like user name, logon user name etc.

2006/4/13, Andre Schnoor <[hidden email]>:

> Joerg Beekmann wrote:
> >
> > We have a bug where #setVariable:value: does not seem to have any
> > effect in the runtime even though it works perfectly in the
> > development environment and in the RTP test environment.
> >
> >
> >
> > We did notice that on Windows XP OSSystemSupport concreteClass returns
> > WinNTSystemSupport. However in defaultPCClassesDeleted
> >
> >  WinNTSystemSupport is marked for remove by default with a comment
> > that this class is only needed for VW3! This seems strange. Could this
> > be the problem? Anyone else encounter and solve this
> >
>
> Joerg,
>
> I've had a similar problem. It may have to do with the registry key used
> to store "environment" variables on Windows. By default, it is something
> like #('SOFTWARE' 'Cincom Systems, Inc.' 'VisualWorks'), which might not
> be appropriate for a sealed runtime.
>
> You might want to have a look at WinNTSystemSupport>>currentVersion: and
> perhaps set the shared variable CurrentVeresion to something else for
> your runtime. I'm doing this in order to have the development images not
> conflict with runtimes I'm testing on the same machine. My code is like
> this:
>
> updateVersionRegistryPath
>     "This should be run as the first thing after runtime startup"
>     Win95SystemSupport.CurrentVersion := (self isRuntime
>         ifTrue:[
>             Array
>                 with: 'SOFTWARE'
>                 with: Main productClass companyName
>                 with: Main productClass productFamily
>                 with: Main productClass releaseBlessing ]
>         ifFalse:[
>             #('SOFTWARE' 'Cincom Systems, Inc.' 'VisualWorks'),
>                 (Array with: self imageVersion) ]).
>
>
> Maybe it helps.
> Andre
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: RTP weirdness

Alan Knight-2
In reply to this post by Joerg Beekmann, DeepCove Labs (YVR)
I think that's a symptom of that method not being updated in quite a while, and VW3-only really means VW3 or later. That list of classes is what would be deleted if you told it you didn't need Windows support, so I doubt that that's relevant in this case.

At 07:03 PM 4/11/2006, Joerg Beekmann wrote:
We have a bug where #setVariable:value: does not seem to have any effect in the runtime even though it works perfectly in the development environment and in the RTP test environment.
 
We did notice that on Windows XP OSSystemSupport concreteClass returns WinNTSystemSupport. However in defaultPCClassesDeleted
 WinNTSystemSupport is marked for remove by default with a comment that this class is only needed for VW3! This seems strange. Could this be the problem? Anyone else encounter and solve this?
 
 
Joerg
 
 

--
Alan Knight [|], Cincom Smalltalk Development

"The Static Typing Philosophy: Make it fast. Make it right. Make it run." - Niall Ross