About / What is ctInstaller Suite
---------------------------------

If you are new to ctInstaller Suite, please read the Requirements section first!

ctInstaller Suite allowes you to create installation programs. It's mostly text-
based, allowing you to define components and setup instructions.
Best of all, all setup information, scripts, required files... will be stored in
one file: you Setup executable!!! You can re-open and modity it anytime (Backups
recommend);

As long there are bugs or requests, ctInstaller Suite is under development. The
latest official version can be found at http://www.ctuser.net. For suggestions,
questions, requests or bug reports, send eMail to info@ctuser.net.
  
The installation creator has now approximate 240b / compressed 100kb. The source
code & resources take about 600kb (10500 lines / 120kb pure code).

The installation base executable has now approximate 130b / compressed 55kb. The
source code & resources take about 300kb (7000 lines / 85kb pure code).

The uninstallation base executable has now approximate 50kb / compressed 30kb.
The source code & resources take about 35kb (1200 lines pure code).

This document will give you additional information of ctInstMaker.

Requirements!!!
---------------

(Generic requirements, according to Microsoft:)
- Pentium 90MHz / high
- VGA 640x480 or higher
- 24MB RAM for Windows 95 / 32MB for Windows NT.
- Microsoft Windows NT 3.51 / 95 or later.
  (Windows 95 users may need DCOM update (or at least one file of)

Other requirements:
- msvbvm60.dll for the installer (and any created installation executable) and
  the installation creator
- Enough free memory (RAM):
  The installation creator stores all included files in memory. Therefore, you
  will need some extra memory, depending on the total file sizes, size of the
  largest file, setup pictures, ...
  The installer itselfs accesses included files on demand only, however due
  decompression etc you may need 2-5x size of the largest file; When downloading
  files, these will also be cached in memory!
- Windows 95 users may need an ole update.
- Internet support will also require wininet.dll for downloading. Downloading
  may use temporary files, and may require Internet Explorer components and/or
  configuration; Mlang.dll and other files may also be required. Downloaded
  files are cached in memory!

Programm overview
-----------------

Patches:
  You should define a minimum & maximum file version for at least 1 file

Uninstall:
  Uninstall support is added automatically when used in the script

Online setup:
  To create a online setup project, create a new project, and choose "Online
  setup" from the "Save file" dialog.
  The Installation creator will automatically create a matching client
  executable in the same folder.

Compression:
  Uses a Huffman based compression. Thanks to the unknown author for publishing
  this free VB example. Made lot's of optimations, and due it's slow processing
  and my little assembly experience, I ported (and optimized) the decompressing
  code to assembly, which boosts decompressing speed 10x-20x (with a smart
  progress callback procedure)

Copying / License / ...
-----------------------

ctInstaller Suite is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option) any
later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA  02111-1307  USA

If you have any questions, suggestions or bug reports about this product,
contact me: info@ctuser.net; Do not contact me about general B.A.S.I.C. language
or A.P.I. issues

Files (depending on which package you downloaded, not all files may be included)
 - License.txt   license    GNU General Public License
 - msvbvm60.dll  required
 - ctIMaker.exe  (required) executable
 - ctIMaker.txt  readme     information / help
 - Source.zip    source     Source code (Visual Basic 6 / PureBasic) and related
                            readme files, also contains a copy of the GNU
                            General Public License

If you want to localize ctInstMaker, please contact me: info@ctuser.net

Version history
---------------

New: New feature
Bug: Essential bugfix (Programm hangs, ...)
Fix: Other bugfix (Display, ...)
Chg: Changes (Optimation, ...)
Del: Removed 'feature' (Automation, ...)
Lng: Language related fix/change

(Some bugs may not affect the previous version, but an unreleased pre-beta
version)

1.40a build 2010.02.07
 ctIMaker:
  - Fix: Windows 95 compatibility issue (Waitable timers)
 ctInst:
  - Fix: Windows 95 compatibility issue (Waitable timers)
  - Fix: Components not locked properly on startup
  - Fix: Unicode registry access problems (Components not remembered)
  - Fix: Pressing Enter key after changing path quits setup

1.40 build 2009.04.10 / 2009.05.21
 ctIMaker:
  - New: NoHide statement ('[Create]' section) to force components dialog to be
         shown even if no choices are available
  - New: IsAdmin() support added to conditions
  - New: 'startupextra' statement for [Create] section for dynamic setup options
 ctInst:
  - Chg: Unicode support, so not display properly
  - Chg: As no longer uses a VB6 form, it should no longer create any temporary
         file!
  - New: NoHide statement ('[Create]' section) to force components dialog to be
         shown even if no choices are available
  - New: IsAdmin() support added to conditions
  - Chg: Can suppress path selections
  - Fix: Windows version detection
  - New: 'startupextra' statement for [Create] section for dynamic setup options
 ctUninst:
  - Chg: Now dll loaded via rundll32, so it can selfterminate and delete itself
         afterwards.
  - New: Unicode support

1.30 build 2007.09.06
 ctIMaker:
  - Chg: Uninstall ID gets Program ID
  - Add: Express installation support
  - Chg: General setup window rearrangements
  - Add: Online setup project automatically creates client exe
  - Add: Message box support (Msg)
  - Add: Windows version detection (WinVer() and WinType())
  - Add: Conditions for components and events!!! (without values!)
  - Fix: Launching wrong executable on "Create setup.exe"
  - Chg: Decompression stuff ported to ASM with some additional optimations
 ctInst:
  - Add: Message box support (Msg)
  - Add: Windows version detection (WinVer() and WinType())
  - Add: Conditions for components and events!!! (without values!)
  - Chg: Uninstall ID gets Program ID
  - Add: Express installation support
  - Chg: Some registry path/caption updates
  - Add: Remembering 'Run ... now' setting.
  - Chg: Decompression stuff ported to ASM with some additional optimations

1.20 build 2006.1017
 ctIMaker:
 - Add: Some more 'help'
 - Fix: Proper Device Context releasing (pictures)
 - Add: Enabling/Disabling components
 - Add: Shortcut icons
 - Add: Patch support
 - Fix: Crash with some val(...) values
 - Add: Internet support!
 - Fix: Crash when using Key-Up on components if no component selected yet
 ctInst:
 - Chg: Using API for opening setup file to work over network (and CD?)
 - Fix: Proper Device Context releasing (pictures)
 - Add: Enabling/Disabling components
 - Add: Shortcut icons
 - Add: Patch support
 - Fix: Crash with some val(...) values
 - Add: Internet support!
 - Fix: Crash when using Key-Up on components if no component selected yet
 - Chg/ Registry access with minimal security flags
   Fix: Should now succeed reading program files path from the windows
        registry.
 - Fix: If no subdirectory for destination is available, the directory changes
        to the root dir

1.10.2006.0220
 - Chg: Launch string changes
 - New: Scrolling for even more setup options
 - Chg: 'Icons' finaly working; use 16x16 bmps, you can specify the a palette
        index for transparency (Not runtime-updated on system color changes!)
 - Chg: Updated copyright to 2006
 - Ned: strjump has second parameter: <ControlID>
 - Chg: lpos renamed to posjump
 - Add: Supports remembering of last installed components ([Remeber],
        Simple <Caption>,<ElementID>)
 ctIMaker:
 - Fix: Version checking skips/aborts if file has a later version then specified
 - Chg: Editor window workarounds
 - Fix: Importing regestry failed on some reg files (error)
 - Bug: 'Bad' workaround for Menu bug (VB6 bug)
 - Add: Supports dragging of bitmaps on 'General setup information' window bitmap
 - Add: Automatically opening 'File manager' window when loading project
 - Add: Progress when converting regestry files
 - Fix: General settings were applied after closing that window
 ctInst:
 - Fix: Version checking skips/aborts if file has a later version then specified
 - Fix: Error when importing some regestry files
 ctUninst:
 - Bug: 'File damaged' error on some converted files
 - Add: Simple GUI with progress indicator

1.00 beta 5 / 1.05.0920
 - Add: Supports launching executables during setup
 - Add: Supports uninstallation
 ctIMaker:
 - Bug: Crash when saving executables
 - Add: Registry support (Regedit files, import using "import reg")
        (Reg2exe 2.24 engine)
 - Add: Script editor shows simple syntax information in "status bar"
 ctInst:
 - Add: Registry support (Reg2exe 2.24 engine)
 ctUninst:
 - First official release

1.00 beta 4 / 1.05.0300
 - New: monochrome bitmaps working; oversized images supported (stretched)
 - Chg: Using windows standard progressbar (no flickering)
 - Chg: Updated modules
 - Chg: Updated copyright to 2005
 - New: Setup components support icons (must be converted)
 ctIMaker:
 - Fix: Removed obsolete menu (#504) in file window
 - Fix: File renaming working
 ctInst
 - Fix: File version detection
 - New: Progress indicator on startup
 - New: 'Quit' caption changed to 'Cancel' / 'Close';
        'Next >' caption changed to 'Next >' / 'Finish'
 - Fix: Removed 'ShellLink sample' comment in shortcuts
 - Chg: No more flickering when no (valid) package attached
 - New: Smaller window when preparing, resized to larger window when done
 - Fix: Progress indication on startup

1.00 beta 3 / 1.04.1019
 - New: Support for buttons
 - New: 'Set' command to set dropdown-combo item
 - Chg: Setupscript control optimations
 - New: Windows XP Skin support
 ctIMaker:
 - Chg: Checking for ctIMaker.dat on startup
 ctInst
 - Chg: File deleting enabled, but for installation path (& subfolders) only

1.00 beta 2 / 1.04.0726
 ctIMaker:
 - Progress bar when compressing
 - Some other small changes
 - Force compression for fluid progress bar when installing
 ctInst
 - Some small changes

1.00 beta 1 / 1.04.0705
 ctIMaker:
        first official release
 ctInst:
 - Chg: No longer needing zlib.dll (using integrated huffman compression;
        slower because in vb6 and not quite as effective because ONLY huffman
        compression is used, but zlib.dll independent)
 - Chg: No longer needing vb6stkit.dll; (now using VB 5 IShellLinkA Interface
        (ANSI) / Shelllnk.tlb) -> No further dlls needed than msvbvm60.dll,
        an up-to-date oleaut32.dll and standard dll files
 - Chg: Optimized code for more compatibility (e.g. 'Package damaged' error
        when some vb6/ole/...? files were missing)
 - Chg: Bitmap (bmp) support: 4bit indexed, 8bit indexed, 24bit
 - Del: icon support currently disabled

Known problems, Behaviours, Bugs, Errors, Problems
--------------------------------------------------

 - Some keyboard problems
   ctIMaker only, does not affect setup executables

Of course I'm testing my software and find most errors myself. Additionally, a
good friend of mine tests any version (alpha, pre-beta, beta, ...).
If you find an error anyway (that's why it's a beta), try to find out what you
did that caused the error (bug) and find the fastest / easiest way to reproduce
this error and eMail your report (info@ctuser.net). Please also check if the
error depends on one or more settings

Credits
-------

Jan Vorel (thats me):
 - Programming
 - Layout (design)
 - Testing
 - Readme file
 - Homepage (Text, screenshots, ...)

------------------ General Credits: ------------------

Ali Chaudhry:
 - lots of discussions resulting in better performance
 - Showed me UPX

Angus Johnson
 - Resource Hacker

Carlos J. Quintero
 - MZ-Tools

Christian Falk:
 - Beta tester

Eugene Roshal
 - WinRar
 - Rar ('DosShell' / HexViewer)

Fantaisie Software:
 - PureBasic

Grennady Feldman
 - Win32Pad (Notepad replacement)

Markus F.X.J. Oberhumer & Laszlo Molnar:
 - UPX

Microsoft:
 - Windows 95/98
 - Visual Basic
 - MSDN

PlanetSourceCode:
 - Visual Basic Source Codes to see how to use API

Toshi:
 - ExeScope: Additional resource operations / checking

ULEAD System:
 - Photo Impact (best image editing programm)

Lothar Rossipaul:
 - Wrterbuch (For some translations)

and many other...
