diff --git a/Contrib/InstallOptions/Readme.html b/Contrib/InstallOptions/Readme.html index e5149861..02e3362d 100644 --- a/Contrib/InstallOptions/Readme.html +++ b/Contrib/InstallOptions/Readme.html @@ -22,7 +22,7 @@ p margin: 20px; } -center +.center { text-align: center; } @@ -64,7 +64,7 @@ h2 h3 { - font-size: 150%; + font-size: 140%; font-weight: bold; color: #303030; margin: 20px; @@ -203,9 +203,8 @@ to the right. Use NSIS's $(^RTL) to fill this field, it's the easiest way. State (output) This is not something you have to supply yourself but is set by -InstallOptions, before calling your custom page validation function, to the field -number of the custom Button control (or other control having the Notify flag) the -user pressed, if any. +InstallOptions, before calling your custom page validation function, to the field number of the +custom Button control (or other control having the Notify flag) the user pressed, if any.

Each field section has the heading "Field #" where # must be sequential numbers from 1 to @@ -217,7 +216,8 @@ NumFields. Each Field section can contain the following values:

Type of control to be created. Valid values are "Label", "Text", "Password", "Combobox", "DropList", "Listbox", "CheckBox", "RadioButton", "FileRequest", "DirRequest" -"Icon", "Bitmap", "GroupBox", "Link" or "Button".
+"Icon", "Bitmap", "GroupBox", "Link" or +"Button".

A "Label" is used to display static text. (i.e. a caption for a textbox)
A "Text" and "Password" accept text input from the user. "Password" @@ -237,8 +237,8 @@ A "Bitmap" control displays a bitmap.
A "GroupBox" control displays a frame to group controls.
A "Link" control displays a static hot text, when the user click the control the contents of State (e.g. http://...) will be executed using ShellExecute
-A "Button" control displays a push button that your NSIS script can act on -when pressed. See the "NOTIFY" flag for more information. +A "Button" control displays a push button that your NSIS script can act on when pressed. +See the "NOTIFY" flag for more information. Text @@ -455,10 +455,9 @@ box. NOWORDWRAP -Used by "Text" controls with multiple-line. Disables the -word-wrap that occurs when long lines are entered. Long lines instead scroll off to the -side. Specifying the HSCROLL flag also has this effect. - +Used by "Text" controls with multiple-line. Disables the word-wrap +that occurs when long lines are entered. Long lines instead scroll off to the side. Specifying the +HSCROLL flag also has this effect. HSCROLL @@ -478,12 +477,11 @@ text in the edit control, but allow the user to select and copy the text. NOTIFY Used by "Button", "CheckBox" and "RadioButton" -controls. Causes InstallOptions to call your NSIS custom page validation/leave function -whenever the button is pressed. Your validation/leave function can read the "State" -value from the "Settings" section to determine which custom button has been -pressed, if any, and perform some appropriate action followed by an Abort instruction -(to tell NSIS to return to the page). The Contrib\InstallOptions folder contains an -example script showing how this might be used. +controls. Causes InstallOptions to call your NSIS custom page validation/leave function whenever +the button is pressed. Your validation/leave function can read the "State" value from the +"Settings" section to determine which custom button has been pressed, if any, and perform +some appropriate action followed by an Abort instruction (to tell NSIS to return to the page). The +Contrib\InstallOptions folder contains an example script showing how this might be used. @@ -672,10 +670,12 @@ following values:

(have a look at the example above).

If you want to check the user input immediately, for example, to display a warning when the input is invalid, you should check whether the user has pressed the Back or Next button.

-

ReserveFile

-

It you are using solid BZIP2 compression and your .onInit and Page functions are not above all -other sections/functions with File commands, use ReserveFile on the top of your script to put the -DLL/INI files first in the data block, which will make your installer start faster:

+

Reserve files

+

If you are using BZIP2 (solid) compression, it's important that files which are being extracted +in init- or page functions function are located before other files in the data block, because this +will make your installer faster.

+

If there are File commands in your sections or functions above the init- or page functions, add +ReserveFile commands above your sections and functions:

 ReserveFile "test.ini"
 ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll"
diff --git a/Contrib/Modern UI/Readme.html b/Contrib/Modern UI/Readme.html
index a8aab00e..138494f1 100644
--- a/Contrib/Modern UI/Readme.html	
+++ b/Contrib/Modern UI/Readme.html	
@@ -452,7 +452,6 @@ Variable in which to store the selected folder.
Does not disable the Next button when a folder is invalid but allows you to use GetInstDirError in the leave function to handle an invalid folder.

-

Start Menu Folder Page Settings

Put the code to write the shortcuts (using CreateShortcut) between the MUI_STARTMENU_WRITE_BEGIN @@ -633,9 +632,9 @@ language stored in the registry will be selected by default.

6. Reserve files

-

If you are using BZIP2 (solid) compression, it's important that files which are being extracted -in init- or page functions function are located before other files in the data block, because this -will make your installer faster.

+

If you are using solid compression (by default, solid compression is enabled for BZip2 and +LZMA), it's important that files which are being extracted in init- or page functions function are +located before other files in the data block, because this will make your installer faster.

If there are File commands in your sections or functions above the init- or page functions, add the reserve file macros above your sections and functions.

diff --git a/Contrib/VPatch/Readme.html b/Contrib/VPatch/Readme.html
index 6423b0b9..372683a6 100644
--- a/Contrib/VPatch/Readme.html
+++ b/Contrib/VPatch/Readme.html
@@ -1,138 +1,131 @@
-
-
+
+
 
-
 VPatch 2
-
-
-
+
 
-
 
-
 
-
 
- + + +
- - - - - - - -

VPatch 2

-

Introduction

-

VPatch allows to create a patch file to update previous versions of -your software. The GenPat utitily generates the patch file. The plug-in can use the -patch to update a file. Using a patch, you can reduce the download size of your -updates, because only the differences between the files are included in the patch -file.

-

How to use

-

Generate the patch file

-

Make sure you have the source file (original version) and the target file (version - to update to). For example, DATA.DTA (currently on user system) and DATA_20.DTA - (version 2.0 of this data file). Now call the command line tool GenPat.exe:

-
GENPAT data.dta data_20.dta data.pat
-

Now, the patch will be generated, this will take some time.

-

Using the /B=(BlockSize) parameter of the GenPat utility (put it after -the filenames), you can use a different block size. A smaller block size may result in -a smaller patch, but the generation will take more time (the default blocksize is 64).

-

Update the file in your installer

-

Use the VPatch plug-in to update a file using a patch file:

-
vpatch::vpatchfile "pathfile.pat" "source.file" "new.file"
-

The result of the patch operating will be added to the stack and can -be one of the following texts:

+
+

VPatch 2

+
+

Introduction

+

VPatch allows to create a patch file to update previous versions of your software. The GenPat +utitily generates the patch file. The plug-in can use the patch to update a file. Using a patch, +you can reduce the download size of your updates, because only the differences between the files +are included in the patch file.

+

How to use

+

Generate the patch file

+

Make sure you have the source file (original version) and the target file (version to update +to). For example, DATA.DTA (currently on user system) and DATA_20.DTA (version 2.0 of this data +file). Now call the command line tool GenPat.exe:

+
+GENPAT data.dta data_20.dta data.pat
+
+

Now, the patch will be generated, this will take some time.

+

Using the /B=(BlockSize) parameter of the GenPat utility (put it after the filenames), you can +use a different block size. A smaller block size may result in a smaller patch, but the generation +will take more time (the default blocksize is 64).

+

Update the file during installation

+

Use the VPatch plug-in to update a file using a patch file:

+
+vpatch::vpatchfile "pathfile.pat" "source.file" "new.file"
+
+

The result of the patch operating will be added to the stack and can be one of the following +texts:

  • OK
  • OK, new version already installed
  • @@ -140,53 +133,53 @@ be one of the following texts:

  • Patch data is invalid or corrupt
  • No suitable patches were found
-

Check example.nsi for an example.

-

Multiple patches in one file

-

GenPat appends a patch to the file you specified. If there is already a patch -for the same orginal file in the patch file, the patch will be replaced. For example, if you want -to be able to upgrade version 1 and 2 to version 3, you can put a 1 > 3 and 2 > 3 patch in one -file.

-

You can also put patches for different files in one patch file, for example, a -patch from file A version 1 to file A version 2 and a patch from file B version 1 to -file B version 2. Just call the plug-in multiple times with the same patch file. It -will automatically select the right patch (based on the file CRC).

-

Source code

-

NSIS plug-in (C++)

-

The source of the NSIS plug-in that applies patches can be found in the -Source\Plugin folder.

-

Patch Generator (Delphi)

-

The most interesting part of VPatch, the actual patch generation algoritm, -can be found in Source\GenPat\PatchGenerator.pas. The header of that file contains a brief -explanation of the algoritm as well.

-

User interface (Delphi)

-

A user interface is included as well, which you will have to build yourself -because the GUI executable was too large to include. Besides Borland Delphi 6 or higher -(you can use the freely available Personal edition), you will also need to install the -VirtualTreeView component by Mike Lischke.

-

Version history

+

Check example.nsi for an example.

+

Multiple patches in one file

+

GenPat appends a patch to the file you specified. If there is already a patch for the same +orginal file in the patch file, the patch will be replaced. For example, if you want to be able to +upgrade version 1 and 2 to version 3, you can put a 1 > 3 and 2 > 3 patch in one file.

+

You can also put patches for different files in one patch file, for example, a patch from file A +version 1 to file A version 2 and a patch from file B version 1 to file B version 2. Just call the +plug-in multiple times with the same patch file. It will automatically select the right patch +(based on the file CRC).

+

Source code

+

NSIS plug-in (C++)

+

The source of the NSIS plug-in that applies patches can be found in the Source\Plugin +folder.

+

Patch Generator (Delphi)

+

The most interesting part of VPatch, the actual patch generation algoritm, can be found in +Source\GenPat\PatchGenerator.pas. The header of that file contains a brief explanation of the +algoritm as well.

+

User interface (Delphi)

+

A user interface is included as well, which you will have to build yourself because the GUI +executable was too large to include. Besides Borland Delphi 6 or higher (you can use the freely +available Personal edition), you will also need to install the VirtualTreeView component by Mike Lischke.

+

Version history

  • 2.0 final
      -
    • Cleaned up source code for the patch generator, which is now included (this code is -written in Borland Delphi 6 and compiles with the freely available Personal edition).
    • +
    • Cleaned up source code for the patch generator, which is now included (this code is written in +Borland Delphi 6 and compiles with the freely available Personal edition).
  • -
  • 2.0 beta 2 +
  • 2.0 beta 2
      -
    • All new algorithm used in the patch generator: much faster (up to 90%) while using -smaller block sizes (higher compression)
    • +
    • All new algorithm used in the patch generator: much faster (up to 90%) while using smaller +block sizes (higher compression)
    • Created a NSIS 2 plugin
    • Works with small files
    • Replaces existing patch in file if original file CRC is identical
-

Credits

-

Written by Koen van de Sande
+

Credits

+

Written by Koen van de Sande
C plug-in by Edgewize
New documentation and example by Joost Verburg

-

License

-
Copyright (C) 2001-2003 Koen van de Sande
+

License

+
+Copyright (C) 2001-2003 Koen van de Sande
 
 This software is provided 'as-is', without any express or implied
 warranty. In no event will the authors be held liable for any damages
@@ -203,13 +196,10 @@ it freely, subject to the following restrictions:
 2. Altered versions must be plainly marked as such,
    and must not be misrepresented as being the original software.
 3. This notice may not be removed or altered from any distribution.
-
-
-
- - \ No newline at end of file +