update
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1574 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
43a75c8c20
commit
73a6a80056
3 changed files with 172 additions and 128 deletions
|
@ -118,50 +118,32 @@ a:hover
|
|||
<p class="text"><img src="Screenshot.png" width="504" height="391" alt=""></p>
|
||||
<p class="header">How to use</p>
|
||||
<p class="text">The Modern UI has a macro system, so most of the code
|
||||
has already been written for you!</p>
|
||||
<p class="text"><span class="subheader">Basic Macro System</span><br>
|
||||
For most scripts, you can use the basic macro system. The basic
|
||||
macro system inserts all code and functions for you. For an example,
|
||||
have a look at <a href="../../Examples/Modern UI/Basic.nsi">Basic.nsi</a>.<br><br>
|
||||
To remove certain default NSIS pages (such as the License page),
|
||||
remove a define at the top of the page (for example, remove
|
||||
!define MUI_LICENSEPAGE), and remove the other instructions for
|
||||
the page (for example, LicenseData).</p>
|
||||
<p class="text"><span class="subheader">Advanced Macro System, Install Options</span><br>
|
||||
If you want put your own code in certain NSIS functions or
|
||||
want to use custom installer pages, use the Advanced Macro
|
||||
System. The code will still be inserted using the macro's,
|
||||
but you can customize a lot of things, add your own code or
|
||||
add new pages.<br><br>
|
||||
Using the Install Options macro's, it's also very easy to use
|
||||
custom pages in your installer. Just add a new Page command
|
||||
between the other page commands: Page [function name] and call
|
||||
Install Options in [function name] using the
|
||||
MUI_INSTALLOPTIONS_SHOW macro.<br><br>
|
||||
Have a look at <a href="../../Examples/Modern UI/InstallOptions.nsi">
|
||||
InstallOptions.nsi</a> for an example of the Install Options
|
||||
and the Advanced Macro System.</p>
|
||||
<p class="text"><span class="subheader">Multilanguage installers</span><br>
|
||||
The Modern UI has full multilanguage support and also uses
|
||||
language files which can be translated easily. You can find the
|
||||
language files in the Contrib\Modern UI\Language files directory.
|
||||
There are already a lot of translations available, but you can
|
||||
also make your own translation.<br>
|
||||
See <a href="../../Examples/Modern UI/MultiLanguage.nsi">MultiLanguage.nsi</a>
|
||||
for a multilanguage example using the Basic Macro System.
|
||||
<p class="header">The interface</p>
|
||||
<p class="text"><span class="subheader">Modern.exe and modern2.exe</span><br>
|
||||
There are two different versions of the interface.
|
||||
Modern.exe contains the dialogs of the standard interface.
|
||||
If you have an installer with a lot of subsections
|
||||
or long section names, use modern2.exe, which has a different
|
||||
component-selection page.</p>
|
||||
<p class="text"><span class="subheader">Change interface settings</span><br>
|
||||
You can change the settings of the interface
|
||||
by usings defines before you insert the MUI_INTERFACE macro.<br>
|
||||
Example: !define MUI_UI "${NSISDIR}\Contrib\UIs\modern2.exe"<br>
|
||||
If you don't define a setting, the default will be used.<br><br>
|
||||
The following settings are available: <i>(default)</i><br>
|
||||
has already been written for you!<br><br>
|
||||
The easiest way to use the Modern UI is to customize one of the <a href="#examples">example</a>
|
||||
scripts, but you can also modify an existing script.<br><br>
|
||||
There are 7 things you need to insert in an existing script to use the
|
||||
Modern UI (in order).<br><br>
|
||||
<p class="text"><span class="subheader">1. Insert the header files</span><br><br>
|
||||
<pre class="margin">!include "${NSISDIR}\Contrib\Modern UI\System.nsh"</pre></p>
|
||||
<p class="text"><span class="subheader">2. Define the name and version of your software</span><br><br>
|
||||
<pre class="margin">!define NAME "Test Software" ;Define your own software name here
|
||||
!define VERSION "1.0" ;Define your own software version here</pre></p>
|
||||
<p class="text"><span class="subheader">3. Define which elements you are using</span></br><br>
|
||||
The Modern UI should know which things it should insert. Use the following defines:<br><br>
|
||||
<pre class="margin">!define MUI_LICENSEPAGE ;License page
|
||||
!define MUI_COMPONENTSPAGE ;Component-selection page
|
||||
!define MUI_DIRECTORYPAGE ;Directory-selection page
|
||||
!define MUI_LICENSEPAGE ;License page
|
||||
!define MUI_UNINSTALL ;Uninstaller
|
||||
!define MUI_ABORTWARNING ;Abort warning messabox</pre></p>
|
||||
<p class="text"><span class="subheader">4. Insert language files</span><br><br>
|
||||
Insert the Modern UI language files for the languages you are using:<br>
|
||||
<pre class="margin">!include "${NSISDIR}\Contrib\Modern UI\Language files\English.nsh"</pre></p>
|
||||
<p class="text"><span class="subheader">5. Interface settings (optional)</span><br><br>
|
||||
You can change the settings of the interface by usings defines:<br>
|
||||
<pre class="margin">!define MUI_UI "${NSISDIR}\Contrib\UIs\modern2.exe"</pre></p>
|
||||
<p class="text">If you don't define a setting, the default will be used.<br><br>
|
||||
The following settings are available: <i>(default)</i><br><br>
|
||||
<span class="bold">MUI_ICON</span> <i>(${NSISDIR}\Contrib\Icons\modern-install.ico)</i>
|
||||
- The icon of the instaleller<br>
|
||||
<span class="bold">MUI_UNICON</span> <i>(${NSISDIR}\Contrib\Icons\modern-uninstall.ico)</i>
|
||||
|
@ -178,7 +160,65 @@ a:hover
|
|||
<span class="bold">MUI_PROGRESSBAR</span> <i>(smooth)</i>
|
||||
- The style of the progress bar ("colored" to use the MUI_INSTALLCOLORS or ""
|
||||
for a old-school windows look)</p>
|
||||
<p class="text"><span class="subheader">Customize the dialogs</span><br>
|
||||
<p class="text"><span class="subheader">6. Insert the MUI_SYSTEM macro</span><br><br>
|
||||
<pre class="margin">!insertmacro MUI_SYSTEM</pre></p>
|
||||
<p class="text"><span class="subheader">7. Set the descriptions for the sections</span><br><br>
|
||||
<pre class="margin">
|
||||
LangString DESC_SectionName1 ${LANG_ENGLISH} "Description of section 1."
|
||||
LangString DESC_SectionName2 ${LANG_ENGLISH} "Description of section 2."
|
||||
|
||||
!insertmacro MUI_FUNCTIONS_DESCRIPTION_START
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SectionName1} $(DESC_SectionName1)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SectionName2} $(DESC_SectionName2)
|
||||
!insertmacro MUI_FUNCTIONS_DESCRIPTION_END
|
||||
</pre></p>
|
||||
<p class="text">Note: Always set a name for a section:<br><br>
|
||||
<pre class="margin">
|
||||
Section "Section Name 1" SectionName1
|
||||
...
|
||||
SectionEnd
|
||||
|
||||
Section "Section Name 2" SectionName2
|
||||
...
|
||||
SectionEnd
|
||||
</pre></p>
|
||||
<p class="text"><span class="subheader">Custom pages</span><br><br>
|
||||
If you want add custom pages to your installer using Install Options,
|
||||
you can customize the page commands:<br><br>
|
||||
<pre class="margin">
|
||||
!define MUI_CUSTOMPAGECOMMANDS ;Use customized pages
|
||||
|
||||
!insertmacro MUI_PAGECOMMAND_LICENSE
|
||||
Page custom [function name]
|
||||
Page custom [function name]
|
||||
!insertmacro MUI_PAGECOMMAND_COMPONENTS
|
||||
!insertmacro MUI_PAGECOMMAND_DIRECTORY
|
||||
Page custom [function name]
|
||||
!insertmacro MUI_PAGECOMMAND_INSTFILES
|
||||
</pre>
|
||||
<p class="text">You can call Install Options in [function name]:</p>
|
||||
<pre class="margin">
|
||||
LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Install Options Page"
|
||||
LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "Create your own dialog!"
|
||||
|
||||
Function [function name]
|
||||
!insertmacro MUI_HEADER_TEXT $(TEXT_IO_TITLE) $(TEXT_IO_SUBTITLE)
|
||||
!insertmacro MUI_INSTALLOPTIONS_SHOW "iniFile.ini"
|
||||
FunctionEnd
|
||||
</pre>
|
||||
<p class="text"><a name="examples"><span class="subheader">Examples</span></a><br><br>
|
||||
Basic: <a href="../../Examples/Modern UI/Basic.nsi">Basic.nsi</a><br>
|
||||
Multilanguage: <a href="../../Examples/Modern UI/MultiLanguage.nsi">MultiLanguage.nsi</a><br>
|
||||
Cutom pages: <a href="../../Examples/Modern UI/InstallOptions.nsi">
|
||||
InstallOptions.nsi</a><br>
|
||||
<p class="header">The interface</p>
|
||||
<p class="text"><span class="subheader">Modern.exe and modern2.exe</span><br><br>
|
||||
There are two different versions of the interface.
|
||||
Modern.exe contains the dialogs of the standard interface.
|
||||
If you have an installer with a lot of subsections
|
||||
or long section names, use modern2.exe, which has a different
|
||||
component-selection page.</p>
|
||||
<p class="text"><span class="subheader">Customize the dialogs</span><br><br>
|
||||
To change elements on the dialogs, modify modern.exe or modern2.exe in the
|
||||
Contrib\UIs directory using a resource editor such as
|
||||
<a href="http://www.users.on.net/johnson/resourcehacker/">Resource Hacker</a>.<br><br>
|
||||
|
@ -193,7 +233,7 @@ a:hover
|
|||
To change them, you need to edit this file and recompile NSIS.</p>
|
||||
<p class="header">Version history</p>
|
||||
<ul>
|
||||
<li class="changelog">1.4 - October 30, 2002
|
||||
<li class="changelog">1.4 - November 3, 2002
|
||||
<ul>
|
||||
<li>Uses new NSIS Page command
|
||||
<li>Macro system way smaller
|
||||
|
@ -211,20 +251,24 @@ a:hover
|
|||
<p class="text">Please post questions at the <a href="http://forums.winamp.com/forumdisplay.php?forumid=65">NSIS
|
||||
Forum</a>.</p>
|
||||
<p class="header">License</p>
|
||||
<p class="text">Copyright © 2002 Joost Verburg</p>
|
||||
<p class="text"> This software is provided 'as-is', without any
|
||||
express or implied warranty. In no event will the authors be
|
||||
held liable for any damages arising from the use of this software.</p>
|
||||
<p class="text"> Permission is granted to anyone to use this software for any
|
||||
<pre class="margin">Copyright © 2002 Joost Verburg
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any
|
||||
purpose, including commercial applications, and to alter it
|
||||
and redistribute it freely, subject to the following restrictions:</p>
|
||||
<p class="text"> 1. The origin of this software must not be misrepresented;
|
||||
and redistribute it freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented;
|
||||
you must not claim that you wrote the original software. If
|
||||
you use this software in a product, an acknowledgment in the
|
||||
product documentation would be appreciated but is not required.<br>
|
||||
product documentation would be appreciated but is not required.
|
||||
2. Altered versions must be plainly marked as such, and
|
||||
must not be misrepresented as being the original software.<br>
|
||||
3. This notice may not be removed or altered from any distribution.</p>
|
||||
must not be misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any distribution.
|
||||
</pre>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
|
@ -65,7 +65,6 @@ SectionEnd
|
|||
!insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI)
|
||||
!insertmacro MUI_FUNCTIONS_DESCRIPTION_END
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Section
|
||||
|
||||
|
|
|
@ -30,7 +30,8 @@
|
|||
Name "${NAME} ${VERSION}"
|
||||
|
||||
;Page order
|
||||
!define MUI_CUSTOMPAGECOMMANDS
|
||||
!define MUI_CUSTOMPAGECOMMANDS ;Use customized pages
|
||||
|
||||
!insertmacro MUI_PAGECOMMAND_LICENSE
|
||||
Page custom SetCustomA
|
||||
Page custom SetCustomB
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue