Newbie: Producing small stand-alone exes for Windows 
Author Message
 Newbie: Producing small stand-alone exes for Windows

I would really appreciate it if someone would give me some advice about how ST code is converted
into exe files.  I know some ST flavours will do this for free and many won't, but say I was using
ST Express of VW non-commercial, which I think will, how would I go about converting my ST code to
an exe?

Thanks,
Tony.



Wed, 18 Jun 1902 08:00:00 GMT  
 Newbie: Producing small stand-alone exes for Windows


Wed, 18 Jun 1902 08:00:00 GMT  
 Newbie: Producing small stand-alone exes for Windows

Quote:

>I would really appreciate it if someone would give me some advice about how ST code is converted
>into exe files.  I know some ST flavours will do this for free and many won't, but say I was using
>ST Express or VW non-commercial, which I think will, how would I go about converting my ST code to
>an exe?

>Thanks,
>Tony.

Would e.g. an application for use in a bank be run as an exe or would it be run "under" ST?  If so,
how is the run-time environment included in a package, or is it first loaded onto the computer to
that any ST programs will execute?


Wed, 18 Jun 1902 08:00:00 GMT  
 Newbie: Producing small stand-alone exes for Windows
Typically (Smalltalk MT being a notable exception), a Smalltalk app
ships as an image and a VM.  The VM is the runtime library that allows
the image to execute.  So to create an app, you prepare an image for
distro (typically using tools to slim it down and remove development
tools), and then you ship the image and VM (along with any DLL's that
may be necessary - some environments require them, some don't).


Quote:



> >I would really appreciate it if someone would give me some advice about how ST code is converted
> >into exe files.  I know some ST flavours will do this for free and many won't, but say I was using
> >ST Express or VW non-commercial, which I think will, how would I go about converting my ST code to
> >an exe?

> >Thanks,
> >Tony.

> Would e.g. an application for use in a bank be run as an exe or would it be run "under" ST?  If so,
> how is the run-time environment included in a package, or is it first loaded onto the computer to
> that any ST programs will execute?

--
James A. Robertson
Senior Sales Engineer
Cincom Systems, Inc.

Talk Small and Carry a Big Class Library



Wed, 18 Jun 1902 08:00:00 GMT  
 Newbie: Producing small stand-alone exes for Windows
Dolphin ST also creates "single" exe's

Ian

Quote:

> Typically (Smalltalk MT being a notable exception), a Smalltalk app
> ships as an image and a VM.  The VM is the runtime library that allows
> the image to execute.  So to create an app, you prepare an image for
> distro (typically using tools to slim it down and remove development
> tools), and then you ship the image and VM (along with any DLL's that
> may be necessary - some environments require them, some don't).




> > >I would really appreciate it if someone would give me some advice about how ST code is converted
> > >into exe files.  I know some ST flavours will do this for free and many won't, but say I was using
> > >ST Express or VW non-commercial, which I think will, how would I go about converting my ST code to
> > >an exe?

> > >Thanks,
> > >Tony.

> > Would e.g. an application for use in a bank be run as an exe or would it be run "under" ST?  If so,
> > how is the run-time environment included in a package, or is it first loaded onto the computer to
> > that any ST programs will execute?

> --
> James A. Robertson
> Senior Sales Engineer
> Cincom Systems, Inc.

> Talk Small and Carry a Big Class Library



Wed, 18 Jun 1902 08:00:00 GMT  
 Newbie: Producing small stand-alone exes for Windows
Thank you both for your responses.  I think I am being dense here, but I don't then understand the
following:

In ST Express, which I'm currently trying out, if I click on VW.exe, a 9KB file, I launch the whole
development program where I saved the image.  However, if I click on V.exe, the image, I always get
the same window without the development tools.  Is this what is supposed to happen?

If I were to ship the image and the VM to someone, which files would I send and how would I go about
stripping out the development classes to leave only that which were needed to run the application?

Perhaps someone could suggest a very simple exercise in either VW, STExpress or Dolphin for me to
try out. re delivering an application.

Thanks again for any advice.

Tony.

Quote:

>Dolphin ST also creates "single" exe's

>Ian


>> Typically (Smalltalk MT being a notable exception), a Smalltalk app
>> ships as an image and a VM.  The VM is the runtime library that allows
>> the image to execute.  So to create an app, you prepare an image for
>> distro (typically using tools to slim it down and remove development
>> tools), and then you ship the image and VM (along with any DLL's that
>> may be necessary - some environments require them, some don't).




>> > >I would really appreciate it if someone would give me some advice about how ST code is converted
>> > >into exe files.  I know some ST flavours will do this for free and many won't, but say I was using
>> > >ST Express or VW non-commercial, which I think will, how would I go about converting my ST code to
>> > >an exe?

>> > >Thanks,
>> > >Tony.

>> > Would e.g. an application for use in a bank be run as an exe or would it be run "under" ST?  If so,
>> > how is the run-time environment included in a package, or is it first loaded onto the computer to
>> > that any ST programs will execute?

>> --
>> James A. Robertson
>> Senior Sales Engineer
>> Cincom Systems, Inc.

>> Talk Small and Carry a Big Class Library



Wed, 18 Jun 1902 08:00:00 GMT  
 Newbie: Producing small stand-alone exes for Windows
Tony,

Quote:
> If I were to ship the image and the VM to someone, which files would I

send and how would I go about
Quote:
> stripping out the development classes to leave only that which were needed

to run the application?
Quote:

> Perhaps someone could suggest a very simple exercise in either VW,

STExpress or Dolphin for me to

Quote:
> try out. re delivering an application.

> Thanks again for any advice.

Not sure about the others, but with Dolphin you have to purchase a separate
kit (the Application Deployment Kit, or ADK) in order to create EXEs. Okay,
it costs $150 but you also get an upgrade to Dolphin 3.0 (from the free 2.1
version). You can read more about how the Dolphin ADK image {*filter*} works
at:

http://www.*-*-*.com/

Best regards,

Andy Bower
Object Arts Ltd.
http://www.*-*-*.com/



Wed, 18 Jun 1902 08:00:00 GMT  
 Newbie: Producing small stand-alone exes for Windows

Quote:
>In ST Express, which I'm currently trying out, if I click on VW.exe, a 9KB file, I launch the whole
>development program where I saved the image.  However, if I click on V.exe, the image, I always get
>the same window without the development tools.  Is this what is supposed to happen?

>If I were to ship the image and the VM to someone, which files would I send and how would I go about
>stripping out the development classes to leave only that which were needed to run the application?

>Perhaps someone could suggest a very simple exercise in either VW, STExpress or Dolphin for me to
>try out. re delivering an application.

This is from an old SmalltalkV readme.txt file.
Most Smalltalks do something (roughly) similar
in spirit.  Good luck; I hope this points you
in the right direction for StExpress.
--------------------------------------------------

VI.   APPLICATION DELIVERY vs DEVELOPMENT

Smalltalk/V Windows is designed to allow application delivery to be as
easy as possible.  The image of objects is split across several files:
VWBAS20.DLL (the objects of the base classes, which include executable
code objects as well as data objects), VWDEV20.DLL (the objects of the
development classes) and V.EXE (your application-specific objects).

When you do Smalltalk program development, you have access to the
Smalltalk compiler, the class hierarchy browser, the class browser, the
disk browser and the de{*filter*}.  You start a development session by
running vw.exe, which gives you access to both the development and base
classes' dynamic link libraries.  When you run vw.exe, there is an
optional argument which is the name of the executable file containing
the objects of your application - both code and data.  If the argument
is omitted, v.exe is used.

When you have an application which is run-only (that is, you want to use
the application on computer systems for which a Smalltalk/V Windows
development license has not been paid), the application can access only
the base classes, not the development classes.  You start your
application by running V.EXE (or renaming V.EXE to whatever you wish to
call your application).  Running V.EXE gives you access to VWBAS20.DLL
but not VWDEV20.DLL.

If you develop a run-only application in Smalltalk/V Windows, you can
distribute the following files with your application:

  V.EXE                      (which you may rename)
  VWABORT.DLL
  VWBAS20.DLL
  VWDLGS20.DLL
  VWFLOAT.DLL
  VWSIGNON.DLL     (the contents of which you may change)
  VWVM20.DLL
  VWICONS.DLL
  VWHELP.DLL
  COMMDLG.DLL      (If the target environment is Windows 3.0)  

You cannot distribute the files VW.EXE, VWDEV20.DLL, or VWSRC20.DLL.
Since VWDEV20.DLL contains the classes ClassHierarchyBrowser, De{*filter*},
Inspector, DiskBrowser, and Compiler, these classes (and their
subclasses) are not available in a distributable application.

If your application tries to access an object in the development dynamic
link library (or makes any other error that, in the development
environment, results in a walkback window), it will be advised of the
runtime error with a dialog box.  The SystemDictionary method
"isRunTime" can be used to test if the current session is for runtime
or development.

Note that the segments in the dynamic link libraries are partly read-
only and partly writable.  The read-only part is sharable.  You may
have multiple Smalltalk/V applications running concurrently and sharing
the read-only part of the class library.

Because the V.EXE file contains only the code and data belonging to your
application, you need not worry about t{*filter*} the system code from your
application.  For example, "puzzle15.cls", after being filed into
the base system and saved, results in a very small-sized V.EXE.

--------------------------------------------------



Wed, 18 Jun 1902 08:00:00 GMT  
 Newbie: Producing small stand-alone exes for Windows
The process of stripping the image is not necessary in StExpress because by
starting v.exe instead of vw.exe the development environment is not loaded.
This is a fundamental difference between VisualWorks (Smalltalk-80) and
SmalltalkExpress (Smalltalk/V).

To open your application at the moment the image starts, you have to change
the NotificationManager>>startUpApplication: method. By default it starts
the graphics demo. You should do something like >>>>>  MyApplication new
open   <<<<.
It's also important to exit the image when you exit your application because
the image doesn't exit by itself when you close the last window. This is
done with  >>> Smalltalk exit   <<<<. Because you only want to do this in
the runtime application but not in the development it's better to do >>>
Smalltalk isRunTime ifTrue: [ Smalltalk exit ].  <<<<<.
"Smalltalk isRunTime" is a way to ask wether the image was started with
v.exe (runtime) or vw.exe (development).

You have to distribute the following files to deliver the runtime
application:

V.EXE
VWABORT.DLL
VWBAS20.DLL
VWDLGS20.DLL
VWFLOAT.DLL
VWSIGNON.DLL
VWVM20.DLL
VWICONS.DLL
VWHELP.DLL
COMMDLG.DLL

I hope this helps!

Matevz Rostaher
http://www.odateam.com, XP in Slovenia



Quote:
> Thank you both for your responses.  I think I am being dense here, but I

don't then understand the
Quote:
> following:

> In ST Express, which I'm currently trying out, if I click on VW.exe, a 9KB

file, I launch the whole
Quote:
> development program where I saved the image.  However, if I click on

V.exe, the image, I always get
Quote:
> the same window without the development tools.  Is this what is supposed
to happen?

> If I were to ship the image and the VM to someone, which files would I

send and how would I go about
Quote:
> stripping out the development classes to leave only that which were needed

to run the application?
Quote:

> Perhaps someone could suggest a very simple exercise in either VW,

STExpress or Dolphin for me to
Quote:
> try out. re delivering an application.

> Thanks again for any advice.

> Tony.



> >Dolphin ST also creates "single" exe's

> >Ian


> >> Typically (Smalltalk MT being a notable exception), a Smalltalk app
> >> ships as an image and a VM.  The VM is the runtime library that allows
> >> the image to execute.  So to create an app, you prepare an image for
> >> distro (typically using tools to slim it down and remove development
> >> tools), and then you ship the image and VM (along with any DLL's that
> >> may be necessary - some environments require them, some don't).




(Tony Balazs and/or Wendy
Quote:

> >> > >I would really appreciate it if someone would give me some advice

about how ST code is converted
Quote:
> >> > >into exe files.  I know some ST flavours will do this for free and

many won't, but say I was using
Quote:
> >> > >ST Express or VW non-commercial, which I think will, how would I go

about converting my ST code to
Quote:
> >> > >an exe?

> >> > >Thanks,
> >> > >Tony.

> >> > Would e.g. an application for use in a bank be run as an exe or would

it be run "under" ST?  If so,
Quote:
> >> > how is the run-time environment included in a package, or is it first

loaded onto the computer to

- Show quoted text -

Quote:
> >> > that any ST programs will execute?

> >> --
> >> James A. Robertson
> >> Senior Sales Engineer
> >> Cincom Systems, Inc.

> >> Talk Small and Carry a Big Class Library



Wed, 18 Jun 1902 08:00:00 GMT  
 Newbie: Producing small stand-alone exes for Windows

Quote:
> The process of stripping the image is not necessary in StExpress because
by
> starting v.exe instead of vw.exe the development environment is not
loaded.
> This is a fundamental difference between VisualWorks (Smalltalk-80) and
> SmalltalkExpress (Smalltalk/V).

That is not entirely the case with StExpress (while it is true win V/Win16
in general). In StExpress, there are supplemental development tools that are
preloaded into the primary V.EXE (like WindowBuilder Pro) that need to be
removed before delivery. The correct approach to delivery using StExpress is
to start with the bare V.EXE that is supplied (in a subdirectory) and
file-in the WBPro runtime code plus your application code. After saving that
image, everything else proceeds as it would with a normal V/Win16 delivery.

-Eric



Wed, 18 Jun 1902 08:00:00 GMT  
 
 [ 10 post ] 

 Relevant Pages 

1. SmallTalk/V-OS/2 and stand alone .EXEs

2. To stand-alone or not to stand-alone

3. Can any Smalltalk dialects produce stand-alone DLLs?

4. newbie: Using shout3d in java stand-alone-application

5. Newbie - Stand alone python

6. Stand-alone exe on Windows

7. Tclapp in windows: How to wrap a custom interpreter to create a stand-alone executable

8. Need Stand Alone Wish Executable for Windows?

9. libs for stand alone programs

10. ENVY in stand-alone mode

11. Stand-alone database available?

12. vw ImageMaker stand alone

 

 
Powered by phpBB® Forum Software