home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / frlnch.zip / frltech.inf (.txt) < prev    next >
OS/2 Help File  |  1995-04-06  |  41KB  |  1,319 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Copyright ΓòÉΓòÉΓòÉ
  3.  
  4. Copyright 
  5.  
  6. FreeLaunch V 1.3 is not Freeware.  Thomas Blummer holds Copyright on this 
  7. program and its documentation.  The use and distribution of this programm and 
  8. its documentation is regulated by its license agreement.  You may received this 
  9. program as Shareware, wich means you are allowed to test this program for a 
  10. limited period of time. 
  11.  
  12.  
  13. ΓòÉΓòÉΓòÉ 1.1. License agreement ΓòÉΓòÉΓòÉ
  14.  
  15. License agreement 
  16.  
  17. You are granted to use a shareware version of this program for 30 days prior to 
  18. registartion for test porposes. 
  19.  
  20. You may 
  21.  
  22. o transfer a configured runtime part of the product to other party. 
  23. o rename the runtime modul. 
  24. o alter any resource shipped with this product, build and build executable 
  25. moduls with altered resources. 
  26. o transfer the program to other party provided you agree to accept that this 
  27. program in the particular runtime configuration is for the other party an 
  28. undivorceable part of your product or contract. 
  29. o use this program if you agree to assume that because the program is highly 
  30. configurable any loss of you or the other party originated by its use or 
  31. inability to use is caused by your erronous configuration of the program. 
  32.  
  33. You may not 
  34.  
  35. o transfer or make accessible other than the runtime part of the product to 
  36. other party. 
  37. o bill a fee for the runtime part of this product. 
  38. o use an unregistered copy after the trial period. 
  39. o use one licensed copy at two sites or a product licensed for an other person. 
  40. o reverse-assemble or reverse-compile the program without my written 
  41. permission. 
  42.  
  43. The runtime parts of this product are the executable files frlrun.exe, 
  44. frlsrun.exe, frlwrun.exe and frlwsrun.exe linked with your resource-compiled 
  45. configuration for an other product. 
  46.  
  47.  
  48. ΓòÉΓòÉΓòÉ 1.2. about Info-ZIP ΓòÉΓòÉΓòÉ
  49.  
  50. FreeLaunch v1.3 contains portions of the code of the 7 February 1994 public 
  51. release of the Info-ZIP group's portable UnZip zipfile-extraction program. 
  52.  
  53. FreeLaunch is using Info-ZIP's algorithm according to the information contained 
  54. in the Info-ZIP package : 
  55.  
  56. Q. Can I use the source code of Zip and UnZip in my commercial application?
  57.  
  58. A. Yes, so long as you include in your product an acknowledgment and an offer of
  59. the original compression sources for free or for a small copying fee, and make
  60. clear that there are no extra or hidden charges resulting from the use of the
  61. compression code by your product.  In other words, you are allowed to sell only
  62. your own work, not ours.  [Note the additional restrictions above on the code in
  63. unreduce.c, unshrink.c and vms.c.] If you have special requirements, contact us
  64. at zip-bugs@wkuvx1.wku.edu.
  65.  
  66. I offer to deliver the complete Info-ZIP package as on 7 February 1994 in 
  67. source and/or executable form for any user of FreeLaunch.  Additionally you can 
  68. obtain Info-ZIP from nearly all OS/2 FTP sites, HOBBES OS/2 CDs or Compuserve 
  69. Forum OS2SHARE.  FreeLaunch does not contain any hidden charge for the use of 
  70. Info-ZIP. 
  71.  
  72. FreeLaunch does not contain the code of unreduce.c unshrink.c and vms.c of the 
  73. Info-ZIP distribution.  Therefore the additional restrictions mentioned in the 
  74. answer are not applicable, and FreeLaunch can not support the compression forms 
  75. "shrinked" and "reduced". 
  76.  
  77. FreeLaunch does support "stored", "imploded", and "deflated" files. 
  78.  
  79.  
  80. ΓòÉΓòÉΓòÉ 2. Shareware registration ΓòÉΓòÉΓòÉ
  81.  
  82. FreeLaunch is licensed for one company site or one person of your choice. 
  83.  
  84. One license allows you to create and distribute unlimited copies in unlimited 
  85. configurations of the run time modul (frlrun.exe, frlsrun.exe, frlwrun.exe 
  86. frlswrun.exe) created at one company site or by one person respectively. 
  87.  
  88. You will receive a serial number if you register this product.  The a valid 
  89. serial number hides the Information window about Shareware at program start. 
  90.  
  91. Order form 
  92.  
  93.  
  94.  
  95. Name ________________________________________________________________
  96.  
  97. Company _____________________________________________________________
  98.  
  99. Address _____________________________________________________________
  100.  
  101.         _____________________________________________________________
  102.  
  103. Phone _______________________________________________________________
  104.  
  105.  
  106. Depending on your location and net access you can choose between three 
  107. registration methods: 
  108.  
  109. o BMT Micro is likely the best choice for USA residents and/or Internet users. 
  110. o Direct registration is the best choice for european especially german 
  111. speaking users. 
  112. o Registration via CompuServe is practicable only for CompuServe users. 
  113.  
  114. See details right below. 
  115.  
  116. Order through BMT Micro 
  117.  
  118.                   Mail Orders To: BMT Micro
  119.                                   452 Horn Road
  120.                                   Wilmington, NC 28412-2411
  121.                                   U.S.A.
  122.  
  123.                     Voice Orders: 8:00am - 8:00pm EST (-5 GMT)
  124.                                   (800) 414-4268  (Orders Only)
  125.                                   (910) 791-7052  (Orders, questions)
  126.  
  127.                       Fax Orders: (910) 350-2937  24 hours / 7 Days
  128.  
  129.          Online Orders via modem: (910) 350-8061  10 lines, all 14.4K
  130.                                   (910) 799-0923  Direct 28.8K line
  131.  
  132.                   via Compuserve: Thomas Bradford, 74031,307
  133.                     via Internet: orders@bmtmicro.com
  134.  
  135.      We accept Visa, Mastercard, Discover, American Express, Optima,
  136.      Eurocard, money orders, cashiers checks and personal checks.
  137.      Please do not send cash in the mail.  Personal checks are subject to
  138.      clearance.
  139.  
  140.      We accept purchase orders from educational institutions,
  141.      governmental agencies and other verifiable businesses.  Terms are
  142.      "Due Upon Receipt".
  143.      Product                    Quantity Price  Number of copies
  144.      _________________________  ______________  ________________
  145.  
  146.        FreeLaunch Version 1.3       $ 60.00 US
  147.  
  148.        1st Class .................................     Free
  149.        Airborne (Next day most places, USA Only).. $   7.00 US
  150.        Federal Express (USA Only)................. $  13.00 US
  151.        Federal Express (Canada/Mexico)............ $  25.00 US
  152.        Federal Express (Europe/Japan)............. $  30.00 US
  153.        Express (Outside USA) ..................... $  16.00 US
  154.  
  155.      Total:                                                      $ _______
  156.  
  157.        For credit card payment only
  158.  
  159.        Circle one: VISA / Master / Discover
  160.  
  161.        Credit card number: _____________________________________________
  162.  
  163.        Expiration date: ________________________________________________
  164.  
  165.        Authorization signature: ________________________________________
  166.  
  167.  
  168. Direct order 
  169.  
  170. For one license send me your order per E-Mail to: 
  171.  
  172. 100273.3607@compuserve.com from the Internet or to 100273,3607 from CompuServe. 
  173. I will ask you for a check (Verrechnungsscheck) in Deutsche Mark DM 85,- per 
  174. License.  You will receive direct phone support by me if you choose this way to 
  175. registrate. 
  176.  
  177. Order via CompuServe's SWREG Service 
  178.  
  179. You can register trough Compuserve's SWREG service also.  GO SWREG and register 
  180. ID :  4693.  The registration fee is $ 60.00 US if you use this method. 
  181.  
  182.  
  183. ΓòÉΓòÉΓòÉ 3. How to get Support ? ΓòÉΓòÉΓòÉ
  184.  
  185. I support this product via E-Mail.  Please address your questions in english or 
  186. german to 
  187.  
  188. 100273.3607@compuserve.com from the Internet or to 100273,3607 from CompuServe. 
  189.  
  190. I am glad to hear your suggestions too. 
  191.  
  192. I also support this product in CompuServe's OS2SHARE forum in english and in 
  193. OS2UGER forum in german language. 
  194.  
  195.  
  196. ΓòÉΓòÉΓòÉ 4. Introduction ΓòÉΓòÉΓòÉ
  197.  
  198. FreeLaunch is a free configurable program launcher.  FreeLaunch can deal with 
  199. many installation diskettes, deep destination directory structures, deep 
  200. desktop folder structures and CONFIG.SYS variables.  It is designed to save you 
  201. from the boring work of programming an installer for your application.  As it 
  202. is free configurable there is no need to rewrite it if your distribution 
  203. changes. 
  204.  
  205. You configure FreeLaunch by writing a configuration file and storing it with 
  206. the name install.scr.  You can immediately test the configuration by 
  207. frltest.exe.  If you are satisfied with a configuration you should compile it, 
  208. then build the compiled configuration into one of the runtime executables 
  209. frlrun.exe, frlwrun.exe frlsrun.exe, frlswrun.exe. Note that you are not 
  210. allowed to tansfer frltest.exe to other party, as it provided for development 
  211. only. 
  212.  
  213. This approach might appear too complicated on first sight, but it has 
  214. significant advantages. 
  215.  
  216. o The Launcher you build with this approach safe against user who think they 
  217. might edit every configuration file. 
  218. o It keeps your exact configuration parameters secret. 
  219. o The bounded Launcher is smaller than the testing one. 
  220. o No one can misuse your Launcher to install some other products. 
  221.  
  222. The price for all of above is:  you have to understand the language  and 
  223. compiling  procedure it uses. 
  224.  
  225.  
  226. ΓòÉΓòÉΓòÉ 5. Creating a runtime executable ΓòÉΓòÉΓòÉ
  227.  
  228. FreeLaunch is distributed in a very developer friendly manner.  With this 
  229. product you receive : 
  230.  
  231. o All resource files, including all messages, dialog boxes and icons. 
  232. o A script compiler (frlcomp.exe ). 
  233. o A Launcher (frltest.exe)  with built-in interpreter for its Language to quick 
  234. test new configurations. 
  235. o Various runtime executables wich can be linked with compiled scripts. 
  236. o A make-file to build a new configuration frl.mak 
  237.  
  238. You configure FreeLaunch by writing a configuration file install.scr.  You can 
  239. test this configuration with the FreeLaunch Tester frltest.exe and after you 
  240. are satisfied with its tested functionality you should build a runtime 
  241. executable wich you can ship with your application. 
  242.  
  243. FreeLaunch comes with all resources in source, so you can also redisign the 
  244. dialog boxes, icons and messages it uses.  Use the program objects "Edit Dialog 
  245. Resources" and "Edit Error Messages" created by the installation of FreeLaunch 
  246. to finish this job. 
  247.  
  248. The configuration file install.scr  must also be compiled into a resource file 
  249. with the FreeLaunch configuration compiler frlcomp.exe. Simply execute this 
  250. compiler wich will create the file install.rc. 
  251.  
  252. install.rc  is a resource file wich should also be linked to the runtime 
  253. executables. 
  254.  
  255. FreeLaunch comes with a make-file for the OS/2 Toolkit's NMAKE wich simplifies 
  256. the procedure described abowe. 
  257.  
  258. You can start this makefile by simply starting the program object "Build a new 
  259. FreeLaunch" created by the FreeLaunch Installation.  There is an other program 
  260. object in the Warp only folder to start this makefile to build the warp 
  261. executables. 
  262.  
  263. If you are not familiar with the use of makefiles, here a sample command 
  264. sequence to create all runtime executables of FreeLaunch for an ISTALL.SCR 
  265. script: 
  266.  
  267. [C:\FL]e install.scr
  268. [C:\FL]frlcomp
  269. [C:\FL]rc -r install.rc
  270. [C:\FL]rc -x install.res frlrun.exe
  271. [C:\FL]rc -x install.res frlsrun.exe
  272. [C:\FL]rc -x2 install.res frlwrun.exe
  273. [C:\FL]rc -x2 install.res frlswrun.exe
  274.  
  275. Note that you can successfully execute the last two command only on Warp. 
  276.  
  277. Also remember that install.rc includes frl.rc. 
  278.  
  279. If you redesigned the dialog boxes, error messages or icons of FreeLaunch 
  280. execute the following commands to create a new Tester too: 
  281.  
  282. [C:\FL]rc -r frl.rc
  283. [C:\FL]rc -x frl.res frltest.exe
  284.  
  285. See the content of the file frl.mak below. 
  286.  
  287. # Makefile for FreeLaunch 1.3
  288. # (c) Thomas Blummer 1995
  289. # execute
  290. # nmake /f frl.mak all
  291. # to create an new FreeLaunch and a new DLL
  292.  
  293.  
  294. # destination old creates the Tester and the runtime Moduls
  295. # with and without Info-Unzip
  296. # The executables frltest.exe frlrun.exe and frlsrun.exe are
  297. # runnable on every OS/2 Versions >= 2.0 including Warp 3.0
  298. old : frltest.exe frlrun.exe frlsrun.exe
  299.  
  300. all : old warp dll
  301.  
  302. # executables created by this destination frlwrun.exe frlswrun.exe
  303. # are runnable ONLY on OS/2 Warp 3.0 (and hopefully above)
  304. warp : frlwrun.exe frlswrun.exe
  305.  
  306. dll : frldll.dll
  307.  
  308. frldll.dll : frldll.c frldll.def
  309.         icc /Q /Gm /Ge- frldll.c /B/BATCH frldll.def
  310.  
  311. frltest.exe : frl.rc dialog.dlg resource.h dialog.h
  312.         rc -x frl.rc $@
  313.  
  314. frlrun.exe : install.res
  315.         rc -x $? $@ >nul
  316.  
  317. frlsrun.exe : install.res
  318.         rc -x $? $@ >nul
  319.  
  320. # for Warp I am using the new -x2 flag of the resource compiler
  321. # distributed in warp. It does a better compression than the older
  322. # versions.
  323. frlwrun.exe : install.res
  324.         rc -x2 $? $@ >nul
  325.  
  326. frlswrun.exe : install.res
  327.         rc -x2 $? $@ >nul
  328.  
  329. install.res : install.rc frl.rc dialog.dlg resource.h dialog.h
  330.         rc -r install.rc >nul
  331.  
  332. install.rc : install.scr
  333.         frlcomp
  334.  
  335.  
  336. ΓòÉΓòÉΓòÉ 6. Choosing the right runtime executable ΓòÉΓòÉΓòÉ
  337.  
  338. FreeLaunch comes with four runtime executables.  The following table helps you 
  339. to choose the right one for your product: 
  340.  
  341. Executable     Description 
  342. frlrun.exe     Executable on OS/2 2.0 and above including Warp.  Supports ZIP 
  343.                archives. 
  344. frlsrun.exe    Exectuable on OS/2 2.0 and above including Warp.  Does not 
  345.                support ZIP archives 
  346. frlwrun.exe    Executable on OS/2 Warp 3.0 and hopefully above.  Supports ZIP 
  347.                archives. 
  348. frlwsrun.exe   Executable on OS/2 Warp 3.0 and hopefully above.  Does not 
  349.                support ZIP archives. 
  350.  
  351. Depending on your requirements you can choose the smallest executable for a 
  352. given installation to save disk space. 
  353.  
  354. Remember that you are allowed to rename the runtime executable as install.exe, 
  355. setup.exe or any name you prefer. 
  356.  
  357. Remember that you must ship runtime executables of FreeLaunch with your 
  358. application, and you are not permitted to distribute frltest.exe. 
  359.  
  360.  
  361. ΓòÉΓòÉΓòÉ 7. How to extend FreeLaunch with a DLL ? ΓòÉΓòÉΓòÉ
  362.  
  363. FreeLaunch offers you to execute a function in an extension DLL at installation 
  364. and removal. 
  365.  
  366. You have to compile a DLL to use this functionality. The name of the DLL is 
  367. defined by the ExtensionDLL statement. 
  368.  
  369. This DLL must contain a function 
  370.  
  371. BOOL _System frlentry (HAB hab, HWND frame, ULONG state, const char *dir, ULONG param);
  372.  
  373. See the include file frldll.h. 
  374.  
  375. The following sections describe how the extension works. 
  376.  
  377.  
  378. ΓòÉΓòÉΓòÉ 7.1. Using the DLL while installing a product ΓòÉΓòÉΓòÉ
  379.  
  380. The extension DLL is loaded by FreeLaunch right after the user dismissed the 
  381. dialog wich asks for the source path of the installation. The named DLL must 
  382. reside at this time in this drive or path. 
  383.  
  384. The function frlentry is called by FreeLaunch only after a succesfull 
  385. installation. At this time all files are copied and uncompressed, the 
  386. config.sys and the desktop are already updated. 
  387.  
  388. FreeLaunch calls frlentry with FLST_INSTALLDONE as third parameter, the fourth 
  389. parameter is the destination directory path of the installation, the last 
  390. parameter is a combination of the macros FLP_CONFIG, FLP_DESKTOP, FLP_ALLFILES, 
  391. FLP_OLDERFILES and FLP_KEEPFILES. The combination of these macros reflect the 
  392. settings the user selected as he started the installation. 
  393.  
  394. The first parameter is the anchor block of the FreeLaunch main thread. 
  395.  
  396. The function is called from the first PM thread while processing a message, so 
  397. you must return within 1/10 second or you should start an other thread and 
  398. disable the frame window wich is passed as the second parameter until you 
  399. finish. 
  400.  
  401. The DLL is unloaded if FreeLaunch exits. 
  402.  
  403.  
  404. ΓòÉΓòÉΓòÉ 7.2. Using the DLL while removing a product ΓòÉΓòÉΓòÉ
  405.  
  406. The extension DLL is loaded by FreeLaunch right after the user selected the 
  407. remove option. The DLL must reside at this time in the same directory as the 
  408. installer. 
  409.  
  410. FreeLaunch calls the frlentry function rigth after the user dismissed the 
  411. options dialog for removal. Nothing was removed by FreeLaunch at this time. The 
  412. removal procedure does not start if frlentry returns FALSE. 
  413.  
  414. FreeLaunch calls frlentry with FLST_REMOVESTART as third parameter, the fourth 
  415. parameter is the destination directory path of the installation, the last 
  416. parameter is a combination of the macros FLP_CONFIG, FLP_DESKTOP, FLP_INI and 
  417. FLP_ALLFILES. The combination of these macros reflect the settings the user 
  418. selected as he started the removal. 
  419.  
  420. The first parameter is the anchor block of the FreeLaunch main thread. 
  421.  
  422. The function is called from the first PM thread while processing a message, so 
  423. you must return within 1/10 second or you should start an other thread and 
  424. disable the frame window wich is passed as the second parameter until you 
  425. finish. 
  426.  
  427. The DLL is unloaded if FreeLaunch exits. 
  428.  
  429.  
  430. ΓòÉΓòÉΓòÉ 7.3. frldll.h ΓòÉΓòÉΓòÉ
  431.  
  432. /*
  433.    FreeLaunch InstallationDll header (c) Thomas Blummer 1995
  434. */
  435. #ifndef _FRLDLL_
  436. #define _FRLDLL_
  437.  
  438. #define INCL_WIN
  439. #include <os2.h>
  440.  
  441. /*
  442. **      This entry is called by FreeLaunch
  443. **      Parameters :
  444. **                hab : Anchor Block
  445. **                frame : Window handle of the top level frame
  446. **                state : one of the FLST_ macros below
  447. **                dir : installation directory
  448. **                param : additional parameter to the state if required.
  449. **      Return Values :
  450. **              TRUE : all right.
  451. **              FALSE : see per state below.
  452. */
  453.  
  454. BOOL _System frlentry (HAB hab, HWND frame, ULONG state, const char *dir, ULONG param);
  455.  
  456. typedef BOOL (_System FRLENTRY)(HAB, HWND, ULONG, const char *, ULONG);
  457. typedef FRLENTRY *PFRLENTRY;
  458.  
  459. /*
  460. ** frlentry is called with this state AFTER FreeLaunch completed
  461. ** the installation procedure.
  462. ** This entry is NOT called if FreeLaunch failed to install the product.
  463. ** const char *dir : ASCIZ destination directory
  464. ** ULONG param : combination of the FLP_ macros below
  465. ** Return value : no matter.
  466. */
  467. #define FLST_INSTALLDONE 1
  468.  
  469.  
  470. /*
  471. ** flrentry is called with this state BEFORE FreeLaunch attempts to remove the product.
  472. ** const char *dir : ASCIZ installation directory
  473. ** ULONG param : combination of the FLDONE_ macros
  474. ** return value : FALSE stop removal.
  475. */
  476. #define FLST_REMOVESTART 2
  477.  
  478. /*
  479. ** Macros for param
  480. ** they represent the options the user requested.
  481. */
  482. #define FLP_CONFIG     0x00000001
  483. #define FLP_DESKTOP    0x00000002
  484. #define FLP_INI        0x00000004
  485. #define FLP_ALLFILES   0x00000008
  486. #define FLP_OLDERFILES 0x00000010
  487. #define FLP_KEEPFILES  0x00000020
  488.  
  489. #endif /* _FRLDLL_ */
  490.  
  491.  
  492. ΓòÉΓòÉΓòÉ 7.4. Sample DLL source ΓòÉΓòÉΓòÉ
  493.  
  494. // compile this sample (if you are using IBM C Set++) as
  495. // icc /Gm /Ge- frldll.c /B/BATCH frldll.def
  496. // contents of frldll.def :
  497. // LIBRARY FRLDLL
  498. // PROTMODE
  499. // DATA MULTIPLE NONSHARED READWRITE PRELOAD
  500. // CODE PRELOAD
  501. // EXPORTS
  502. // frlentry
  503. #include "frldll.h"
  504.  
  505. #define INCL_BASE
  506. #include <os2.h>
  507.  
  508. #include <string.h>
  509.  
  510. BOOL _System frlentry (HAB hab, HWND frame, ULONG state, const char *dir, ULONG param)
  511. {
  512.         switch ( state )
  513.         {
  514.                 case FLST_INSTALLDONE :
  515.                         return TRUE;
  516.                 case FLST_REMOVESTART :
  517.                         /*
  518.                         ** The following lines are only meaningful
  519.                         ** for the deinstallation of FreeLaunch
  520.                         ** Replace or delete the following lines
  521.                         ** depending on your needs
  522.                         */
  523.                         {
  524.                                 char path [1024];
  525.                                 strcpy (path, dir);
  526.                                 strcat (path, "\\frldll.dll");
  527.                                 DosDelete (path);
  528.                                 strcpy (path, dir);
  529.                                 strcat (path, "\\frldll.obj");
  530.                                 DosDelete (path);
  531.                                 strcpy (path, dir);
  532.                                 strcat (path, "\\install.rc");
  533.                                 DosDelete (path);
  534.                                 strcpy (path, dir);
  535.                                 strcat (path, "\\install.res");
  536.                                 DosDelete (path);
  537.                                 strcpy (path, dir);
  538.                                 strcat (path, "\\frl.res");
  539.                                 DosDelete (path);
  540.                         }
  541.                         return TRUE;
  542.         }
  543.         return TRUE;
  544. }
  545.  
  546.  
  547. ΓòÉΓòÉΓòÉ 8. The Language ΓòÉΓòÉΓòÉ
  548.  
  549. FreeLaunch is controlled by a configuration file wich contains a script in his 
  550. language.  This language is discussed in this section. 
  551.  
  552. The Language is context free and case sensitiv.  The Language is made up of 
  553. statements of strictly defined syntax. 
  554.  
  555. Because FreeLaunch reads the script only once no forward references within the 
  556. statements are allowed.  Therefore there is a suggested order of statements. 
  557. Some statements are required for every configuration file. 
  558.  
  559.  
  560. ΓòÉΓòÉΓòÉ 8.1. Required statements ΓòÉΓòÉΓòÉ
  561.  
  562. A configuration file must include the following statements: 
  563.  
  564. OwnerOfThisProgram 
  565. ApplicationName 
  566. InstallationTitle 
  567. ReadMe 
  568. Disk 
  569. Directory 
  570.  
  571.  
  572. ΓòÉΓòÉΓòÉ 8.2. Suggested order of statements ΓòÉΓòÉΓòÉ
  573.  
  574. To reduce the possibility of forward references, I suggest to write statements 
  575. in the following order. 
  576.  
  577. OwnerOfThisProgram 
  578. ApplicationName 
  579. InstallationTitle 
  580. ReadMe 
  581. ExtensionDll 
  582. Disk 
  583. Directory 
  584. Environment 
  585. SomClass 
  586. Folder 
  587. Program 
  588. SomObject 
  589.  
  590.  
  591. ΓòÉΓòÉΓòÉ 8.3. Statements ΓòÉΓòÉΓòÉ
  592.  
  593. Statements 
  594.  
  595. The Language is an unlimited list of statements.  See the an alphabetical list 
  596. of all statements below. 
  597.  
  598. Statement                Purpose 
  599. ApplicationName          Defines a short name of the application to be used in 
  600.                          USER.INI 
  601. Archive                  Defines a ZIP archive of files. 
  602. Directory                Defines a directory, its contents and subdirectories. 
  603. Disk                     Describes the Installation media. 
  604. Environment              Defines an environment Variable wich should be updated 
  605.                          in CONFIG.SYS 
  606. ExtensionDll             Defines the name of a DLL wich extends the 
  607.                          Functionality of FreeLaunch 
  608. File                     Defines a file within a directory. 
  609. Folder                   Defines a Workplace Folder. 
  610. InstallationTitle        Defines the title bar text of the Installation 
  611. OwnerOfThisProgram       Stores the name of a registered user of this program 
  612. Program                  Defines a Workplace Program object. 
  613. ReadMe                   Specifies the file name of your READ ME file. 
  614. SomClass                 Registers a SOM Class DLL into the Workplace 
  615. SomObject                Defines a Workplace Object. 
  616.  
  617.  
  618. ΓòÉΓòÉΓòÉ 8.3.1. ApplicationName ΓòÉΓòÉΓòÉ
  619.  
  620. Syntax 
  621.  
  622. ApplicationName "a name";
  623.  
  624. You must include this statement in every configuration file.  The application 
  625. name will be used by FreeLaunch to create an entry in the USER.INI, using this 
  626. name as Application and the key "InstallationDirectory".  The value of this 
  627. entry is the directory the user selected to use for the product. 
  628.  
  629. I know some of you developers including me hate programs wich dump their 
  630. rabbish into the system INI files. I hope I managed a compromise. FreeLaunch 
  631. needs an entry to find the product on removal, and you could use this entry to 
  632. find your own INI files. FreeLaunch deletes this entry on removal. 
  633.  
  634. Example 
  635.  
  636. ApplicationName "FreeLaunch";
  637.  
  638.  
  639. ΓòÉΓòÉΓòÉ 8.3.2. Archive ΓòÉΓòÉΓòÉ
  640.  
  641. Syntax 
  642.  
  643. Archive disk_number "archive file name" "description"
  644. Begin
  645.         File "file name";
  646.         File "file name";
  647.         // ... and so on
  648. End
  649.  
  650. FreeLaunch assumes that the archive file on the installation media is an 
  651. archive created with Info-ZIP. FreeLaunch copies the archive then uncomresses 
  652. it using the "strored", "imploded" and "deflated" algorithms. 
  653.  
  654. FreeLaunch checks if the archive is consistent and if it contains all files 
  655. listed in the definition. FreeLaunch deletes the archive in the destination 
  656. directory after successfully uncompressing it. 
  657.  
  658. Example 
  659.  
  660. // create a zip file:
  661. // zip arch.zip app.exe crtl.dll app.ico
  662. Directory prod "Product directory"
  663. Begin
  664.         Archive 1 arch.zip "application"
  665.         Begin
  666.                 File app.exe;
  667.                 File crtl.dll;
  668.                 File app.ico;
  669.         End
  670. End
  671. // create a program object on the desktop
  672. Program "my Application" <MYAPP> PathNameOf (app.exe) "" PathNameOf (prod) PathNameOf (app.ico) Desktop;
  673.  
  674.  
  675. ΓòÉΓòÉΓòÉ 8.3.3. Directory ΓòÉΓòÉΓòÉ
  676.  
  677. Syntax 
  678.  
  679. Directory "name" "description"
  680. Begin
  681.         Directory statement
  682.         // and/or
  683.         File statement
  684.         // and/or
  685.         Archive statement
  686. End
  687.  
  688. FreeLaunch will create the directory and copy its contents from the 
  689. installation media.  You can specify only one top level directory for an 
  690. installation.  Other directories must be nested within the top level one. 
  691.  
  692. Parameter                Function 
  693. class name               Directory name 
  694. description              an informative description of the directory. 
  695.  
  696. Example 
  697.  
  698. Directory prod "product directory"
  699. Begin
  700.   File 1 read.me "Read me file";
  701.   Directory help "Help files"
  702.   Begin
  703.        File 1 myhlp.inf "Help file";
  704.        Archive 1 misc.zip "misc. files"
  705.        Begin
  706.             File english.inf;
  707.             File deutsch.inf;
  708.        End
  709.   End
  710. End
  711.  
  712.  
  713. ΓòÉΓòÉΓòÉ 8.3.4. Disk ΓòÉΓòÉΓòÉ
  714.  
  715. Syntax 
  716.  
  717. Disk disk_number "disk title" "label file";
  718.  
  719. You must define at least one Disk in a configuration file. 
  720.  
  721. Parameter                Function 
  722. disk title               The title printed on the disk.  The user will be asked 
  723.                          to insert the disk with this label 
  724. label file               The file name of a possibly dummy file on the disk. 
  725.                          The installer is seeking for this file to decide if 
  726.                          the inserted disk is the correct one. 
  727.  
  728. Example 
  729.  
  730. Disk 1 "FreeLaunch Version 1.3 Disk 1" frlrun.exe;
  731.  
  732.  
  733. ΓòÉΓòÉΓòÉ 8.3.5. Environment ΓòÉΓòÉΓòÉ
  734.  
  735. Syntax 
  736.  
  737. Environment variable "value";
  738.  
  739. This line causes that FreeLaunch updates the file CONFIG.SYS on the boot drive. 
  740. The Variable is either added or the value is appended to existing definitions 
  741. of the variable.  FreeLaunch appends values in PATH style, it also knows about 
  742. the different syntax of the LIBPATH line. 
  743.  
  744. Parameter                Function 
  745. variable                 Variable name.  Should be one word. 
  746. value                    any value you need. 
  747.  
  748. Example 
  749.  
  750. Environment PATH PathNameOf  ( bin );
  751.  
  752.  
  753. ΓòÉΓòÉΓòÉ 8.3.6. ExtensionDll ΓòÉΓòÉΓòÉ
  754.  
  755. Syntax 
  756.  
  757. ExtensionDll "DLL file name";
  758.  
  759. This statement causes that FreeLaunch loads the named DLL at installation and 
  760. removal. FreeLaunch also executes the function frlentry in this DLL. For 
  761. details see How to extend FreeLaunch with a DLL. 
  762.  
  763. Example 
  764.  
  765. ExtensionDll "frldll.dll";
  766.  
  767.  
  768. ΓòÉΓòÉΓòÉ 8.3.7. File ΓòÉΓòÉΓòÉ
  769.  
  770. Syntax 
  771.  
  772. File disk_number "file name" "description";
  773.  
  774. FreeLaunch will copy the specified file from the disk. 
  775.  
  776. Parameter                Function 
  777. disk_number              Number of the disk where the source file resides.  See 
  778.                          statement Disk 
  779. file name                destination and source file name. 
  780. description              This string will be displayed while FreeLaunch is 
  781.                          copying the file. 
  782.  
  783. FreeLaunch v1.3 no longer supports the use of external decompressors, as the 
  784. build-in ZIP algorithm makes this feature obsolate, and I want to keep the 
  785. executable size as low as possible. See statement Archive 
  786.  
  787. Example 
  788.  
  789. File 1 myapp.exe "The application";
  790.  
  791.  
  792. ΓòÉΓòÉΓòÉ 8.3.8. Folder ΓòÉΓòÉΓòÉ
  793.  
  794. Syntax 
  795.  
  796. Folder "title" <object_id> [location]
  797. Begin
  798.         Folder statement
  799.         // and/or
  800.         SomObject statement
  801.         // and/or
  802.         Program statement
  803. End
  804.  
  805. FreeLaunch creates Workplace Folder by this statement. Note that a Folder is 
  806. only a specialized case of SomObject, so you can create more flexible Folders 
  807. by using the SomObject statement. 
  808.  
  809. Parameter                Function 
  810. title                    title of the created folder 
  811. object id                Instance ID 
  812. location                 parent folder or object.  Location is not allowed in 
  813.                          nested definitions, as nesting already defines parent 
  814.                          object. 
  815.  
  816. Note that you must provide UNIQ object ID for every Workplace object you create 
  817. with FreeLaunch 
  818.  
  819. Example 
  820.  
  821. Folder "My Application Folder" <MY_FOLDER> Desktop
  822. Begin
  823.   Program "My Application" <MY_APP> PathNameOf  ( myapp.exe ) "-dosomething" PathNameOf  ( data ) PathNameOf  ( myapp.ico );
  824.   Folder "Help Files" <MY_HELP_FOLDER>
  825.   Begin
  826.      Program "English help" <MY_ENGLISH_HELP> view.exe PathNameOf  ( english.inf ) PathNameOf  ( help ) "";
  827.   End
  828. End
  829.  
  830.  
  831. ΓòÉΓòÉΓòÉ 8.3.9. InstallationTitle ΓòÉΓòÉΓòÉ
  832.  
  833. Syntax 
  834.  
  835. InstallationTitle "title bar text";
  836.  
  837. You must include this statement in every configuration file.  This value will 
  838. be displayed as title bar text of the installation program. 
  839.  
  840. Example 
  841.  
  842. InstallationTitle "Installing FreeLaunch Version 1.3";
  843.  
  844.  
  845. ΓòÉΓòÉΓòÉ 8.3.10. OwnerOfThisProgram ΓòÉΓòÉΓòÉ
  846.  
  847. Syntax 
  848.  
  849. OwnerOfThisProgram "name of the licensee" license_number;
  850.  
  851. You must include this statement in every configuration file.  If you did not 
  852. licensed this program yet include :  OwnerOfThisProgram "unregistered 
  853. shareware" 0; 
  854.  
  855. Example 
  856.  
  857. OwnerOfThisProgram "(c) Bugs Unlimited" 4711;
  858.  
  859.  
  860. ΓòÉΓòÉΓòÉ 8.3.11. Program ΓòÉΓòÉΓòÉ
  861.  
  862. Syntax 
  863.  
  864. Program "title" <object_id> "program file" "parameters" "startup directory" "icon file" [location];
  865.  
  866. FreeLaunch creates Workplace Program Objects by this statement. 
  867.  
  868. Parameter                Function 
  869. title                    icon title 
  870. object id                Instance ID 
  871. program file             executable 
  872. parameters               parameters for the executable 
  873. startup directory        startup directory 
  874. icon file                icon file 
  875. location                 parent folder or object.  Location is not allowed in 
  876.                          nested definitions, as nesting already defines parent 
  877.                          object. 
  878.  
  879. Note that you must provide UNIQ object ID for every Workplace object you create 
  880. with FreeLaunch 
  881.  
  882. Example 
  883.  
  884. Program "My Application" <MY_APP> PathNameOf  ( myapp.exe ) "/HELP" "" "" Desktop;
  885.  
  886.  
  887. ΓòÉΓòÉΓòÉ 8.3.12. ReadMe ΓòÉΓòÉΓòÉ
  888.  
  889. Syntax 
  890.  
  891. ReadMe "readme file";
  892.  
  893. You must include this statement in every configuration file.  The specified 
  894. file will be displayed by installation program. 
  895.  
  896. Example 
  897.  
  898. ReadMe "READ.ME";
  899.  
  900.  
  901. ΓòÉΓòÉΓòÉ 8.3.13. SomClass ΓòÉΓòÉΓòÉ
  902.  
  903. Syntax 
  904.  
  905. SomClass "class name" "class dll path";
  906.  
  907. FreeLaunch will register the defined SOM Class into the Workplace. 
  908.  
  909. Parameter                Function 
  910. class name               Workplace class name.  Avoid conflicts with standard 
  911.                          names 
  912. class dll path           The path to the DLL implementing the WP Class.  Use 
  913.                          PathNameOf  ( "filename" ) 
  914.  
  915. Example 
  916.  
  917. SomClass "MyClass" PathNameOf  ( mysom.dll );
  918.  
  919.  
  920. ΓòÉΓòÉΓòÉ 8.3.14. SomObject ΓòÉΓòÉΓòÉ
  921.  
  922. Syntax 
  923.  
  924. SomObject "icon title" "class name" <object_id> "setup" [location];
  925.  or 
  926.  
  927. SomObject "icon title" "class name" <object_id> "setup" [ location ]
  928. Begin
  929.         Folder statement
  930.         // and/or
  931.         SomObject statement
  932.         // and/or
  933.         Program statement
  934. End
  935.  
  936. FreeLaunch creates Workplace Object Instances of any registered object class. 
  937. You should register your own classes with SomClass before creating instances of 
  938. it. 
  939.  
  940. Parameter                Function 
  941. icon title               icon title 
  942. class name               Workplace class name 
  943. object id                Instance ID 
  944. setup                    Setup string.  This string will be passed to 
  945.                          WinCreateObject as parameter 3. 
  946. location                 parent folder or object.  Location is not allowed in 
  947.                          nested definitions, as nesting already defines parent 
  948.                          object. 
  949.  
  950. Note that you must provide UNIQ object ID for every Workplace object you create 
  951. with FreeLaunch 
  952.  
  953. Example 
  954.  
  955. SomObject "My Object" "MyClass" <MY_OBJECT> "DOWHAT=YES;" Desktop;
  956.  
  957.  
  958. ΓòÉΓòÉΓòÉ 8.3.15. // ΓòÉΓòÉΓòÉ
  959.  
  960. Syntax 
  961.  
  962. // (c) Thomas Blummer 1995
  963.  
  964. Everything between // and the end of the line is handled as comment. Comments 
  965. are simply ignored. 
  966.  
  967.  
  968. ΓòÉΓòÉΓòÉ 8.4. Functions ΓòÉΓòÉΓòÉ
  969.  
  970. Functions 
  971.  
  972. FreeLaunch supports the following Functions in the current release: 
  973.  
  974. Function                 Purpose 
  975. PathNameOf               Returns the destination path of a file or directory. 
  976.  
  977.  
  978. ΓòÉΓòÉΓòÉ 8.4.1. PathNameOf ΓòÉΓòÉΓòÉ
  979.  
  980. Syntax 
  981.  
  982. PathNameOf ( FileName )
  983.  or 
  984.  
  985. PathNameOf ( DirectoryName )
  986.  
  987. The function returns the destination path name of the file. 
  988.  
  989. Parameter                Function 
  990. FileName                 Name of a file on the distribution after decompression 
  991. DirectoryName            Name of a destination Directory (First parameter of a 
  992.                          Directory statement) 
  993.  
  994. Example 
  995.  
  996. PathNameOf ( mysom.dll )
  997. PathNameOf ( bin )
  998.  
  999.  
  1000. ΓòÉΓòÉΓòÉ 8.5. Parameters ΓòÉΓòÉΓòÉ
  1001.  
  1002. The next sections describe parameter of statements. 
  1003.  
  1004.  
  1005. ΓòÉΓòÉΓòÉ 8.5.1. Location ΓòÉΓòÉΓòÉ
  1006.  
  1007. FreeLaunch creates Workplace objects at a specified location.  A location is 
  1008. either the Object ID  of an existing object or one of the following predefined 
  1009. constants 
  1010.  
  1011. Constant                 Value 
  1012. Configuration            the system configuration folder 
  1013. Desktop                  the desktop 
  1014. Drives                   the drives folder 
  1015. Information              the system information folder 
  1016. Nowhere                  nowhere 
  1017. Startup                  the system startup folder 
  1018. System                   the system folder 
  1019. Templates                the templates folder 
  1020.  
  1021. Example 
  1022.  
  1023. <MY_FOLDER>
  1024. Desktop
  1025.  
  1026.  
  1027. ΓòÉΓòÉΓòÉ 8.5.2. Object ID ΓòÉΓòÉΓòÉ
  1028.  
  1029. FreeLaunch creates named Workplace objects.  You must assign an object ID to 
  1030. each created instance.  An object ID starts with <  und ends with >, use any 
  1031. alphanumeric character beetwen these two.  No spaces, commas or semicolons are 
  1032. allowed. 
  1033.  
  1034. Avoid conflicts with existing standard names. 
  1035.  
  1036. Note that you must provide UNIQ object ID for every Workplace object you create 
  1037. with FreeLaunch 
  1038.  
  1039. Example 
  1040.  
  1041. <MY_OBJECT>
  1042.  
  1043.  
  1044. ΓòÉΓòÉΓòÉ 8.5.3. String Expression ΓòÉΓòÉΓòÉ
  1045.  
  1046. StringExpressions are used as parameter for many statements. 
  1047.  
  1048. Definition                              Purpose 
  1049. String                                  a String is a StringExpression 
  1050. StringExpression + StringExpression     Concatenates to strings. 
  1051. PathNameOf  (  "file name" )            Substitutes the full target pathname of 
  1052.                                         the named file. 
  1053.  
  1054. NOTE :  The previous syntax of FreeLaunch 1.0 PathNameOf "string" (without 
  1055. paranthesis) is also supported, but please use the new Syntax in the future. 
  1056.  
  1057. Example 
  1058.  
  1059. "a string"
  1060. PathNameOf  ( read.me ) // Expands "c:\destination\read.me"
  1061. "this is a string " + " expression"
  1062. "ICONFILE=" + PathNameOf  ( app.ico ) + ";" // Expands to eg.  "ICONFILE=c:\destination\icons\app.ico;"
  1063.  
  1064.  
  1065. ΓòÉΓòÉΓòÉ 8.5.4. String ΓòÉΓòÉΓòÉ
  1066.  
  1067. Strings are used as parameters for statements.  A string is a chain of zero or 
  1068. more alphanumeric characters including _#$@╨ñ╨ö╨æ╨⌐╨₧╨¬╤ü╨▒Γòô╨▓╤Ç╨Æ╨á╨░Γòí╨òΓòû╨ÜΓòÿ╨º╤ï╨Ñ╤â╨¥ΓûÉ.  A string 
  1069. must be delimited by quotation marks if it contains a character not listed 
  1070. above. 
  1071.  
  1072. Example 
  1073.  
  1074. "this is a string"
  1075. "" // this is an empty string
  1076.  
  1077.  
  1078. ΓòÉΓòÉΓòÉ 9. Tips ΓòÉΓòÉΓòÉ
  1079.  
  1080. This section discusses some hints. 
  1081.  
  1082.  
  1083. ΓòÉΓòÉΓòÉ 9.1. Setting LIBPATH and PATH ΓòÉΓòÉΓòÉ
  1084.  
  1085. Assume you want to append the subdirectory bin of your installation into the 
  1086. PATH and the subdirectory dll into the LIBPATH Variable. 
  1087.  
  1088. You also need a variable MYINSTDIR wich should point to the installation 
  1089. directory, MYINFO wich should point to the installed read.me file and MYNAME to 
  1090. thomas. 
  1091.  
  1092. Directory  APP "My application directory"
  1093. Begin
  1094.   File  1 read.me;
  1095.   Directory  bin "Executables"
  1096.   Begin
  1097.         File  1 app.exe "The application";
  1098.   End
  1099.   Directory  dll "Run time libraries"
  1100.   Begin
  1101.         File  1 crt.dll "My CRTL";
  1102.   End
  1103. End
  1104. Environment PATH PathNameOf  (bin);
  1105. Environment LIBPATH PathNameOf  (dll);
  1106. Environment MYINSTDIR PathNameOf  (APP);
  1107. Environment MYINFO PathNameOf  (read.me);
  1108. Environment MYNAME thomas;
  1109.  
  1110.  
  1111. ΓòÉΓòÉΓòÉ 9.2. Install your own WPS Class ΓòÉΓòÉΓòÉ
  1112.  
  1113. You can use FreeLaunch to copy, register and create instances of your own 
  1114. WP-Class DLL. 
  1115.  
  1116. Directory  MYAPP "The Application Directory"
  1117. Begin
  1118.   File  1 beauty.ico;
  1119.   Directory  SOM "my SOM DLL directory"
  1120.   Begin
  1121.         File  1 mysom.dll "My SOM DLL";
  1122.   End
  1123. End
  1124. // append the directory to the LIBPATH
  1125. Environment LIBPATH PathNameOf  (SOM);
  1126. // register the new SOM-Class
  1127. SomClass  "MySomClass" PathNameOf  (mysom.dll);
  1128. // create an instance on the desktop
  1129. SomObject  "A useful Object" "MySomClass" <MYSOMOBJECT> "ICONID=" PathNameOf (beauty.ico) + ";" +
  1130.         "SOMEUSEFULSETUP=YES;" Desktop;
  1131.  
  1132.  
  1133. ΓòÉΓòÉΓòÉ 9.3. Create a Folder with your Icon ΓòÉΓòÉΓòÉ
  1134.  
  1135. Folder and Program are only specialized cases of SomObject. You can create SOM 
  1136. objects with any parameters using FreeLaunch. To create a Folder with 
  1137. beauty.ico as its icon on the desktop, just write: 
  1138.  
  1139. SomObject "Beauty Folder" "WPFolder" <BEAUTIES> "ICONFILE=" +
  1140.         PathNameOf (beauty.ico) + ";" Desktop;
  1141.  
  1142.  
  1143. ΓòÉΓòÉΓòÉ 9.4. Associate a file extension with your program ΓòÉΓòÉΓòÉ
  1144.  
  1145. You can create a link between data file extensions and your program. You have 
  1146. to create the Program object for your application as SomObject in this case : 
  1147.  
  1148. // create a program object on the desktop and
  1149. // link *.yap and *.ypp files to yapp.exe
  1150. SomObject "Your Application" "WPProgram" <YAPP> "EXENAME=" + PathNameOf (yapp.exe) + ";" +
  1151.        "ASSOCFILTER=*.yap,*.ypp;" Desktop;
  1152.  
  1153. You can also assign Extended Attribute Type with your program object via 
  1154. ASSOCTYPE. 
  1155.  
  1156.  
  1157. ΓòÉΓòÉΓòÉ 9.5. Install a Win-OS/2 or DOS Program ΓòÉΓòÉΓòÉ
  1158.  
  1159. Create Program objects as SomObjects and use the PROGTYPE setup. 
  1160.  
  1161. // create a windowed dos application
  1162. // wich needs a device driver xxx.sys wich resides in your dev directory
  1163. SomObject "Your DOS APP" "WPProgram" <YDOSAPP> "PROGTYPE=VDM;EXENAME=" + PathNameOf (yapp.exe) + ";" +
  1164.         "SET DOS_DEVICE=" + PathNameOf (dev) + "\\xxx.sys;" Desktop;
  1165. // create a seamless win-os/2 program object
  1166. // wich needs a special PATH
  1167. SomObject "Your Win APP" "WPProgram" <YWINAPP> "PROGTYPE=STDSEAMLESSVDM;EXENAME=" + PathNameOf (yapp.exe) + ";" +
  1168.                 "SET PATH=" + PathNameOf (odapi) + ";" Desktop;
  1169.  
  1170.  
  1171. ΓòÉΓòÉΓòÉ 9.6. Automatically start a program after install ΓòÉΓòÉΓòÉ
  1172.  
  1173. To automatically start a program after installation just create a SomObject 
  1174. wich resides in Nowhere. This makes it disappear at next boot. You also have to 
  1175. set the OPEN=DEFAULT Style of the object. 
  1176.  
  1177. // Create a temporary program object to show your documentation
  1178. // right after install
  1179. SomObject "Must Read This" "WPProgram" <MUSTREAD>
  1180.         "EXENAME=view.exe;OPEN=DEFAULT;PARAMETERS=" + PathNameOf (document.inf) + ";"
  1181.         Nowhere;
  1182.  
  1183.  
  1184. ΓòÉΓòÉΓòÉ 9.7. The FreeLaunch installation script. ΓòÉΓòÉΓòÉ
  1185.  
  1186. // (c) Thomas Blummer 1995
  1187. //
  1188. // This is a configuration file for FreeLaunch v1.3
  1189. //
  1190. // It is written in its own Language. Please read "FreeLaunch v1.3 Technical
  1191. // Documentation"
  1192. // (frltech.inf) for a sophiscated definition of the language.
  1193. //
  1194. // This file may be extecuted by "FreeLaunch Tester" (frltest.exe)
  1195. // for test purposes or it can be compiled into the runtime Launcher "FreeLaunch RT"
  1196. // (frlrun.exe, frlsrun.exe, frlswrun.exe) by executing "Build a new Launcher"
  1197. // (it starts a make-file for NMAKE).
  1198.  
  1199. // defines the title bar text
  1200. InstallationTitle "FreeLaunch v1.3";
  1201.  
  1202. // defines the file wich will be shown in the client area of the installer
  1203. ReadMe read.me;
  1204.  
  1205. // defines Application Name used in USER.INI
  1206. ApplicationName "FreeLaunch";
  1207.  
  1208. // Extension Dll for customized install or cleanup
  1209. ExtensionDll frldll.dll;
  1210.  
  1211. // defines Installation diskette and a file wich identifies the correct disk
  1212. Disk 1 "FreeLaunch v1.3" frlrun.exe;
  1213.  
  1214. // defines installation directories
  1215. // no subdirectories are used here, BUT NO WORRY FreeLaunch can deal with nested directories.
  1216. Directory FRL "FreeLaunch installation directory"
  1217. Begin
  1218.         // defines files of the distribution
  1219.         File 1 read.me "Read me file";
  1220.         File 1 frltest.exe "FreeLaunch Tester";
  1221.         File 1 frlrun.exe "FreeLaunch RT";
  1222.         File 1 frlsrun.exe "FreeLaunch RT without Info-UnZip";
  1223.         File 1 frlwrun.exe "FreeLaunch RT for Warp";
  1224.         File 1 frlswrun.exe "FreeLaunch RT for Warp without Info-Unzip";
  1225.         File 1 frlcomp.exe "FreeLaunch Compiler";
  1226.         File 1 frldll.dll "FreeLaunch Extension DLL";
  1227.         File 1 frltech.inf "FreeLaunch Documentation";
  1228.         // Define an Archive
  1229.         Archive 1 source.zip "FreeLaunch Sources"
  1230.         Begin
  1231.                 File frl.mak;
  1232.                 File frldll.h;
  1233.                 File frldll.c;
  1234.                 File frldll.def;
  1235.                 File install.scr;
  1236.                 File scratch.scr;
  1237.                 File dialog.dlg;
  1238.                 File dialog.h;
  1239.                 File dialog.res;
  1240.                 File frl.rc;
  1241.                 File resource.h;
  1242.                 File clock.ico;
  1243.                 File diskin.ico;
  1244.                 File info.ico;
  1245.                 File instl.ico;
  1246.                 File question.ico;
  1247.                 File stop.ico;
  1248.         End
  1249. End
  1250.  
  1251. // defines Desktop Folder
  1252. Folder "FreeLaunch v1.3" <FRLFOLDER> Desktop
  1253. Begin
  1254.  
  1255.         // defines Program objects in this folder
  1256.         Program "Read Me" <FRLREADME> e.exe read.me PathNameOf ( FRL ) "";
  1257.         Program "FreeLaunch v1.3 RT" <FRLRT> PathNameOf ( frlrun.exe ) "" PathNameOf ( FRL ) "";
  1258.         Program "FreeLaunch v1.3 RT
  1259. without Info-Unzip" <FRLRTS> PathNameOf ( frlsrun.exe ) "" PathNameOf ( FRL ) "";
  1260.  
  1261.         // defines a subfolder
  1262.         Folder Development <FRLDEVELOP>
  1263.         Begin
  1264.                 // some other programs
  1265.                 Program "Edit Configuration file" <FRLCONFEDIT> e.exe install.scr PathNameOf ( FRL ) "";
  1266.                 Program "Edit Dialog Resources" <FRLDLGEDIT> dlgedit.exe dialog PathNameOf ( FRL ) "";
  1267.                 Program "Edit Error Messages" <FRLMSGEDIT> e.exe frl.rc PathNameOf ( FRL ) "";
  1268.                 Program "Build a new FreeLaunch" <FRLBUILD> nmake.exe "/f frl.mak old" PathNameOf ( FRL ) "";
  1269.                 Program "FreeLaunch v1.3 Tester" <FRLTEST> PathNameOf ( frltest.exe ) "" PathNameOf ( FRL ) "";
  1270.                 Program "FreeLaunch v1.3
  1271. Technical Documentation" <FRLHELP> view.exe frltech.inf PathNameOf ( FRL ) "";
  1272.                 Folder "FreeLaunch DLL" <FRLDLL>
  1273.                 Begin
  1274.                         Program "Edit DLL Source" <FRLDLLC> e.exe PathNameOf (frldll.c) "" "";
  1275.                         Program "Build a new DLL" <FRLDLLBUILD> nmake.exe "/f frl.mak dll" PathNameOf ( FRL ) "";
  1276.                 End
  1277.                 Folder "Warp only" <FRLWARP>
  1278.                 Begin
  1279.  
  1280.                         Program "FreeLaunch v1.3 RT
  1281. for Warp" <FRLRTW> PathNameOf ( frlwrun.exe ) "" PathNameOf ( FRL ) "";
  1282.  
  1283.                         Program "FreeLaunch v1.3 RT
  1284. for Warp
  1285. without Info-Unzip" <FRLTSW> PathNameOf ( frlswrun.exe ) "" PathNameOf ( FRL ) "";
  1286.  
  1287.                 Program "Build a new FreeLaunch
  1288. for Warp" <FRLBUILDW> nmake.exe "/f frl.mak warp" PathNameOf ( FRL ) "";
  1289.  
  1290.                 End
  1291.                 // a sub-sub Folder
  1292.                 Folder Icons <FRLICONS>
  1293.                 Begin
  1294.                         // shadows for icon files.
  1295.                        SomObject "" "WPShadow" <FRLINFOICON> "SHADOWID=" + PathNameOf ( info.ico ) + ";";
  1296.                        SomObject "" "WPShadow" <FRLQUESTIONICON> "SHADOWID=" + PathNameOf ( question.ico ) +";";
  1297.                        SomObject "" "WPShadow" <FRLERRORICON> "SHADOWID=" + PathNameOf ( stop.ico ) +";";
  1298.                        SomObject "" "WPShadow" <FRLINSTLICON> "SHADOWID=" + PathNameOf ( instl.ico ) +";";
  1299.                        SomObject "" "WPShadow" <FRLWAITICON> "SHADOWID=" + PathNameOf ( clock.ico ) +";";
  1300.                        SomObject "" "WPShadow" <FRLINSERTICON> "SHADOWID=" + PathNameOf ( diskin.ico ) +";";
  1301.                 End
  1302.         End
  1303. End
  1304.  
  1305. // YOU MUST INCLUDE THIS LINE INTO EVERY CONFIGURATION FILE
  1306. OwnerOfThisProgram "Unregistered Shareware" 0;
  1307.  
  1308. // FreeLaunch supports your own WPS Classes, CONFIG.SYS Variables and more ...
  1309. // Please read the "FreeLauch v1.3 Technical Documentation".
  1310.  
  1311.  
  1312. ΓòÉΓòÉΓòÉ 10. Trademarks ΓòÉΓòÉΓòÉ
  1313.  
  1314. The following names are Trademarks of the IBM. 
  1315.  
  1316. o OS/2 
  1317. o Workplace Shell 
  1318. o SOM 
  1319.