2002-12-17 13:46:45 +00:00
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2002-08-26 16:52:24 +00:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
|
2002-09-19 17:55:10 +00:00
|
|
|
<title>NSIS Modern User Interface</title>
|
2002-08-26 16:52:24 +00:00
|
|
|
|
2002-12-17 13:46:45 +00:00
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
2002-08-26 16:52:24 +00:00
|
|
|
|
|
|
|
<style type="text/css">
|
|
|
|
|
|
|
|
body
|
|
|
|
{
|
|
|
|
padding: 10px;
|
|
|
|
background-color: #F0F0F0;
|
2002-10-27 19:47:50 +00:00
|
|
|
font-family: Verdana, Arial, Helvetica, sans-serif;
|
|
|
|
font-size: 10pt;
|
|
|
|
font-weight: normal;
|
2002-08-26 16:52:24 +00:00
|
|
|
}
|
|
|
|
|
2003-06-11 16:32:10 +00:00
|
|
|
p
|
|
|
|
{
|
|
|
|
font-size: 10pt;
|
|
|
|
}
|
|
|
|
|
2002-08-26 16:52:24 +00:00
|
|
|
center
|
|
|
|
{
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
table
|
|
|
|
{
|
|
|
|
margin: auto;
|
|
|
|
text-align: left;
|
|
|
|
background-color: #FFFFFF;
|
|
|
|
}
|
|
|
|
|
|
|
|
.maintable
|
|
|
|
{
|
2002-12-15 21:43:38 +00:00
|
|
|
border: 2px solid #376EAB;
|
2002-08-26 16:52:24 +00:00
|
|
|
}
|
2002-12-15 21:43:38 +00:00
|
|
|
|
2002-08-26 16:52:24 +00:00
|
|
|
.margin
|
|
|
|
{
|
|
|
|
margin: 20px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.text
|
|
|
|
{
|
|
|
|
margin: 20px;
|
|
|
|
}
|
|
|
|
|
2002-10-26 17:39:25 +00:00
|
|
|
.bold
|
|
|
|
{
|
|
|
|
font-weight: bold;
|
|
|
|
color: #303030;
|
2002-10-27 19:47:50 +00:00
|
|
|
}
|
2003-03-18 13:33:25 +00:00
|
|
|
|
|
|
|
.parameter
|
|
|
|
{
|
|
|
|
font-weight: bold;
|
|
|
|
color: #6586AC;
|
|
|
|
}
|
2002-10-27 19:47:50 +00:00
|
|
|
|
2002-08-26 16:52:24 +00:00
|
|
|
.header
|
|
|
|
{
|
|
|
|
font-size: 14pt;
|
|
|
|
color: #7A7272;
|
|
|
|
}
|
2002-10-26 17:39:25 +00:00
|
|
|
|
|
|
|
.subheader
|
|
|
|
{
|
2002-11-04 11:19:21 +00:00
|
|
|
margin: 20px;
|
2003-05-25 20:21:21 +00:00
|
|
|
font-size: 12pt;
|
2002-10-26 17:39:25 +00:00
|
|
|
font-weight: bold;
|
|
|
|
color: #303030;
|
|
|
|
}
|
2002-08-26 16:52:24 +00:00
|
|
|
|
2003-05-25 20:21:21 +00:00
|
|
|
.sub2header
|
|
|
|
{
|
|
|
|
margin: 20px;
|
|
|
|
font-size: 11pt;
|
|
|
|
font-weight: bold;
|
|
|
|
color: #2B5885;
|
|
|
|
}
|
|
|
|
|
2002-08-26 16:52:24 +00:00
|
|
|
.footer
|
|
|
|
{
|
2003-03-18 13:33:25 +00:00
|
|
|
margin: 5px 5px 5px 5px;
|
|
|
|
text-align: right;
|
|
|
|
font-size: 8pt;
|
2002-08-26 16:52:24 +00:00
|
|
|
color: #909090;
|
|
|
|
}
|
|
|
|
|
2002-10-26 17:39:25 +00:00
|
|
|
a:link, a:visited, a:active
|
|
|
|
{
|
|
|
|
color: #294F75;
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
a:hover
|
|
|
|
{
|
|
|
|
color: #182634;
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
|
2002-08-26 16:52:24 +00:00
|
|
|
</style>
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<div class="center">
|
2002-12-15 21:43:38 +00:00
|
|
|
<table width="750" class="maintable" cellspacing="0" cellpadding="0">
|
2002-08-26 16:52:24 +00:00
|
|
|
<tr><td>
|
2002-12-15 21:43:38 +00:00
|
|
|
<table cellspacing="0" cellpadding="0">
|
|
|
|
<tr>
|
2002-12-17 13:46:45 +00:00
|
|
|
<td><img src="Readme.jpg" width="750" height="80" alt="" /></td>
|
2002-08-26 16:52:24 +00:00
|
|
|
</tr>
|
|
|
|
|
2002-11-03 16:30:59 +00:00
|
|
|
<tr>
|
|
|
|
<td><div class="margin">
|
|
|
|
<p class="header">Introduction</p>
|
|
|
|
<p class="text">NSIS 2 makes it is possible to create installers
|
2003-07-17 22:26:43 +00:00
|
|
|
with a custom user interface. The Modern UI is an interface with a
|
|
|
|
style like the wizards of recent Windows versions.</p>
|
2003-03-03 18:58:35 +00:00
|
|
|
<p class="text">This new interface also features new pages
|
2003-07-17 22:26:43 +00:00
|
|
|
(Welcome, Finish, Start Menu) and a description area on the components
|
|
|
|
page. The interface and the graphics can be customized using the
|
|
|
|
provided settings.</p>
|
2003-07-26 11:58:05 +00:00
|
|
|
<p class="text">Using the Modern UI macros and language files,
|
2003-07-17 22:26:43 +00:00
|
|
|
writing scripts with a modern interface is easy. This document contains
|
|
|
|
information about writing Modern UI scripts and a reference of all
|
|
|
|
settings.</p>
|
2003-04-25 15:27:32 +00:00
|
|
|
<p class="text"><span class="bold">Important: </span>Because the Modern
|
|
|
|
UI has its own macro system, its own default settings and a lot of
|
|
|
|
new features, the interface configuration works differently. So you
|
2003-07-17 22:26:43 +00:00
|
|
|
should not use commands like Icon, BrandingText etc.</p>
|
2002-11-18 20:48:21 +00:00
|
|
|
<p class="header">Screenshots</p>
|
2002-12-17 13:46:45 +00:00
|
|
|
<p class="text"><img src="Screenshot.png" width="503" height="393" alt="" /></p>
|
|
|
|
<p class="text"><img src="Screenshot2.png" width="503" height="393" alt="" /></p>
|
2002-11-03 16:30:59 +00:00
|
|
|
<p class="header">How to use</p>
|
2003-07-26 11:58:05 +00:00
|
|
|
<p class="text">The Modern UI has a macro system, so all the code to
|
2003-07-17 22:26:43 +00:00
|
|
|
control the interface has already been written for you.</p>
|
|
|
|
<p class="text">If you want to start a new Modern UI script or upgrade
|
|
|
|
an older script with the Classic UI, follow the steps below.</p>
|
|
|
|
<p class="text">Taking a look at the <a href="#examples">example</a> scripts
|
|
|
|
will also help you to learn more about the Modern UI.</p>
|
2002-12-06 19:22:42 +00:00
|
|
|
<p class="text"><span class="bold">Note:</span> If you want to add a
|
|
|
|
double quote (") to a Modern UI string, you should always escape
|
2003-07-26 11:58:05 +00:00
|
|
|
it ($\"), because the Modern UI macros use " to separate
|
2002-12-06 19:22:42 +00:00
|
|
|
parameters.</p>
|
2002-11-04 12:51:48 +00:00
|
|
|
<p class="subheader">1. Include the header file</p>
|
2003-02-07 19:27:52 +00:00
|
|
|
<pre class="margin">!include "MUI.nsh"</pre>
|
2003-07-17 22:26:43 +00:00
|
|
|
<p class="text">MUI.nsh is in the Include directory, so you don't have
|
2003-03-18 13:44:42 +00:00
|
|
|
to specify a path.</p>
|
2002-11-08 21:08:27 +00:00
|
|
|
<p class="subheader">2. Define the name and version of your software</p>
|
|
|
|
<pre class="margin">
|
2003-05-25 20:21:21 +00:00
|
|
|
!define MUI_PRODUCT "Your Software"
|
|
|
|
!define MUI_VERSION "1.0"
|
2002-11-08 21:08:27 +00:00
|
|
|
</pre>
|
2003-07-17 22:26:43 +00:00
|
|
|
<p class="text">This information will be used inside the texts for the installer
|
|
|
|
interface.</p>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="subheader">3. Pages</p>
|
2003-07-26 11:58:05 +00:00
|
|
|
<p class="text">Insert the following macros to set the pages you want to use.
|
2003-07-17 22:26:43 +00:00
|
|
|
The pages will appear in the order you insert them in your script.
|
2003-07-26 11:58:05 +00:00
|
|
|
You can also insert custom Page commands between the macros to add custom pages.<br />
|
2003-05-25 20:21:21 +00:00
|
|
|
<a href="#customPages">More info about custom pages...</a></p>
|
|
|
|
<p class="text">Example:</p>
|
|
|
|
<pre class="margin">!insertmacro MUI_PAGE_COMPONENTS</pre>
|
|
|
|
<p class="text">
|
|
|
|
<span class="bold">Installer Pages</span><br />
|
|
|
|
MUI_PAGE_WELCOME<br />
|
|
|
|
MUI_PAGE_LICENSE<br />
|
|
|
|
MUI_PAGE_COMPONENTS<br />
|
|
|
|
MUI_PAGE_DIRECTORY<br />
|
|
|
|
MUI_PAGE_STARTMENU<br />
|
|
|
|
MUI_PAGE_INSTFILES<br />
|
|
|
|
MUI_PAGE_FINISH
|
|
|
|
</p>
|
|
|
|
<p class="text">
|
|
|
|
<span class="bold">Uninstaller Pages</span><br />
|
|
|
|
MUI_UNPAGE_CONFIRM<br />
|
|
|
|
MUI_UNPAGE_INSTFILES<br />
|
|
|
|
</p>
|
|
|
|
<p class="subheader">4. Defines</p>
|
|
|
|
<p class="text">You can use defines to configure the Modern UI.
|
|
|
|
Most defines (i.e. MUI_COMPONENTSPAGE_SMALLDESC)
|
|
|
|
don't need a value, they are true/false settings. Others
|
2003-03-12 21:42:05 +00:00
|
|
|
(i.e. MUI_FINISHPAGE_RUN) can be used to define a specific
|
2003-05-25 20:21:21 +00:00
|
|
|
value.</p>
|
|
|
|
<p class="text">Parameters are specified in this format:
|
2003-03-18 13:33:25 +00:00
|
|
|
<span class="parameter">required (option1 | option2)
|
2003-05-25 20:21:21 +00:00
|
|
|
[optional]</span>.</p>
|
|
|
|
<p class="text">You should put all parameters in one string for the define:</p>
|
2002-11-16 22:05:56 +00:00
|
|
|
<pre class="margin">
|
2003-05-29 08:55:59 +00:00
|
|
|
!define MUI_STARTMENUPAGE_NODISABLE ;No value
|
2003-03-12 21:42:05 +00:00
|
|
|
!define MUI_FINISHPAGE_RUN "$INSTDIR\Application.exe" ;Value
|
2003-04-26 22:30:52 +00:00
|
|
|
!define MUI_INSTALLCOLORS "FFFFFF 000000" ;Multiple parameters
|
2002-11-08 21:08:27 +00:00
|
|
|
</pre>
|
2003-03-12 21:42:05 +00:00
|
|
|
<p class="text">All defines are optional.</p>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="subheader">4a. General settings</p>
|
|
|
|
<p class="sub2header">License Page Settings</p>
|
2003-03-26 19:16:51 +00:00
|
|
|
<div class="margin">
|
|
|
|
<p class="text"><span class="bold">MUI_LICENSEPAGE_CHECKBOX</span><br />
|
|
|
|
Display a checkbox the user has to check to agree with the license terms.</p>
|
|
|
|
<p class="text"><span class="bold">MUI_LICENSEPAGE_RADIOBUTTONS</span><br />
|
|
|
|
Display two radiobuttons to allow the user to choose between accepting the
|
|
|
|
license terms or not.</p>
|
|
|
|
</div>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="sub2header">Components Page Settings</p>
|
2003-03-09 18:55:57 +00:00
|
|
|
<div class="margin">
|
|
|
|
<p class="text"><span class="bold">MUI_COMPONENTSPAGE_SMALLDESC</span><br />
|
|
|
|
A small description area on the bottom of the page. Use this layout
|
|
|
|
if you have a lot of sections and don't need large descriptions.</p>
|
|
|
|
<p class="text"><span class="bold">MUI_COMPONENTSPAGE_NODESC</span><br />
|
|
|
|
No description area.</p>
|
|
|
|
</div>
|
2003-07-17 22:26:43 +00:00
|
|
|
<p class="sub2header">Start Menu Folder Page Settings</p>
|
2003-05-25 20:21:21 +00:00
|
|
|
<div class="margin">
|
|
|
|
<p class="text">If you did not disable the 'Do not create shortcuts' checkbox,
|
2003-07-26 11:58:05 +00:00
|
|
|
put the script code to write the shortcuts between these macros,
|
2003-03-18 13:44:42 +00:00
|
|
|
because the creation can be disabled by the user:</p>
|
2003-02-27 22:20:04 +00:00
|
|
|
<pre class="margin">
|
|
|
|
!insertmacro MUI_STARTMENU_WRITE_BEGIN
|
|
|
|
...create the shortcuts...
|
|
|
|
!insertmacro MUI_STARTMENU_WRITE_END
|
|
|
|
</pre>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_STARTMENUPAGE_VARIABLE </span><span class="parameter">variable</span><br />
|
2003-07-16 22:44:33 +00:00
|
|
|
Variable to store the current Start Menu Folder. Default is $MUI_STARTMENU_FOLDER.
|
2003-03-18 12:39:18 +00:00
|
|
|
You cannot use this variable in your script (or you should Push/Pop it).</p>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_STARTMENUPAGE_DEFAULTFOLDER </span><span class="parameter">folder</span><br />
|
2003-04-03 15:38:33 +00:00
|
|
|
The default Start Menu Folder. For installers with multiple languages, you can use a language string as value.</p>
|
2003-02-27 22:20:04 +00:00
|
|
|
<p class="text"><span class="bold">MUI_STARTMENUPAGE_NODISABLE</span><br />
|
|
|
|
Do not display the checkbox to disable the creation of Start Menu
|
|
|
|
shortcuts.</p>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_STARTMENUPAGE_REGISTRY_ROOT </span><span class="parameter">root</span><br />
|
|
|
|
<span class="bold">MUI_STARTMENUPAGE_REGISTRY_KEY </span><span class="parameter">key</span><br />
|
|
|
|
<span class="bold">MUI_STARTMENUPAGE_REGISTRY_VALUENAME </span><span class="parameter">value_name</span><br />
|
2003-03-09 22:38:13 +00:00
|
|
|
The registry key to store the Start Menu folder. The page will use it to
|
|
|
|
remember the users preference. You should also use it in the uninstaller to
|
|
|
|
remove the Start Menu folders. Don't forget to remove this key in the
|
|
|
|
uninstaller.</p>
|
2003-07-16 22:44:33 +00:00
|
|
|
<p class="text">In the uninstaller, use the MUI_STARTMENU_GETFOLDER macro to get the Start Menu folder:</p>
|
2003-04-07 18:05:12 +00:00
|
|
|
<pre class="margin">
|
2003-07-16 22:44:33 +00:00
|
|
|
!insertmacro MUI_STARTMENU_GETFOLDER $R0 ;You can also use another variable
|
2003-04-07 18:05:12 +00:00
|
|
|
Delete "$SMPROGRAMS\$R0\Your Shortcut.lnk"
|
|
|
|
</pre>
|
2002-12-06 19:22:42 +00:00
|
|
|
</div>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="sub2header">Finish Page Settings</p>
|
2002-12-06 19:22:42 +00:00
|
|
|
<div class="margin">
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_RUN </span><span class="parameter">exe_file</span><br />
|
2003-06-17 12:52:12 +00:00
|
|
|
Application which the user can select to run using a checkbox.
|
2002-12-06 19:22:42 +00:00
|
|
|
You don't need to put quotes around the filename when it contains spaces.</p>
|
2002-12-14 00:15:41 +00:00
|
|
|
<div class="margin">
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_RUN_PARAMETERS </span><span class="parameter">parameters</span><br />
|
2002-12-06 16:13:20 +00:00
|
|
|
Parameters for the application to run. Don't forget to escape double
|
2003-03-05 14:04:15 +00:00
|
|
|
quotes in the value (use $\").</p>
|
2002-12-17 13:46:45 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_RUN_NOTCHECKED</span><br />
|
2002-12-14 00:15:41 +00:00
|
|
|
Do not check the 'Run program' checkbox by default</p>
|
2003-06-14 12:49:33 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_RUN_FUNCTION </span><span class="parameter">function_name</span><br />
|
|
|
|
Call a function instead of executing an application (define MUI_FINISHPAGE_RUN without parameters).
|
|
|
|
You can use the function to exectute multiple applications or you can change the checkbox name and
|
|
|
|
use it for other things.</p>
|
2002-12-14 00:15:41 +00:00
|
|
|
</div>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_SHOWREADME </span><span class="parameter">file/url</span><br />
|
2003-06-17 12:52:12 +00:00
|
|
|
File or website which the user can select to view using a checkbox.
|
2002-12-06 19:22:42 +00:00
|
|
|
You don't need to put quotes around the filename when it contains spaces.
|
2003-06-17 12:52:12 +00:00
|
|
|
Use $(LANGSTRINGNAME) as value if you want to use a language string.</p>
|
2002-12-14 00:15:41 +00:00
|
|
|
<div class="margin">
|
2002-12-17 13:46:45 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_SHOWREADME_NOTCHECKED</span><br />
|
2002-12-14 00:15:41 +00:00
|
|
|
Do not check the 'Show Readme' checkbox by default</p>
|
2003-06-14 12:49:33 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_SHOWREADME_FUNCTION </span><span class="parameter">function_name</span><br />
|
|
|
|
Call a function instead of showing a file (define MUI_FINISHPAGE_SHOWREADME without parameters).
|
|
|
|
You can use the function to show multiple files or you can change the checkbox name and
|
|
|
|
use it for other things.</p>
|
2002-12-14 00:15:41 +00:00
|
|
|
</div>
|
2003-06-17 12:52:12 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_LINK </span><span class="parameter">link_text</span><br />
|
|
|
|
Text for a link on the which the user can click to view a website or file.
|
|
|
|
Use $(LANGSTRINGNAME) as value if you want to use a language string.</p>
|
|
|
|
<div class="margin">
|
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_LINK_LOCATION </span><span class="parameter">file/url</span><br />
|
|
|
|
Website or file which the user can select to view using the link.
|
|
|
|
You don't need to put quotes around the filename when it contains spaces.
|
|
|
|
Use $(LANGSTRINGNAME) as value if you want to use a language string.</p>
|
|
|
|
</div>
|
2002-12-17 13:46:45 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_NOAUTOCLOSE</span><br />
|
2002-12-06 16:13:20 +00:00
|
|
|
Do not automatically jump to the finish page, to allow the user to
|
|
|
|
check the log.</p>
|
2002-12-17 13:46:45 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_NOREBOOTSUPPORT</span><br />
|
2003-03-05 14:04:15 +00:00
|
|
|
Disables support for the page that allows the user to reboot the system.
|
|
|
|
Define this option to save some space if you are not using the /REBOOTOK
|
|
|
|
flag or SetRebootFlag.</p>
|
2002-12-06 19:22:42 +00:00
|
|
|
</div>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="sub2header">Other settings</p>
|
|
|
|
<div class="margin">
|
2002-12-17 13:46:45 +00:00
|
|
|
<p class="text"><span class="bold">MUI_ABORTWARNING</span><br />
|
2003-06-17 12:52:12 +00:00
|
|
|
Show a message box with a warning when the user wants to close the installer.</p>
|
2002-12-06 19:22:42 +00:00
|
|
|
</div>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="subheader">4b. Interface settings</p>
|
2003-03-18 12:39:18 +00:00
|
|
|
<p class="text">For UI elements that are enabled by default, the default value will be used when a setting
|
|
|
|
has not been defined.</p>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_UI </span><span class="parameter">ui_file</span><br />
|
2003-03-18 12:39:18 +00:00
|
|
|
The interface file with the dialog resources. Change this if you have made your own customized UI.<br />
|
|
|
|
<i>Default: ${NSISDIR}\Contrib\UIs\modern.exe</i></p>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_UI_HEADERBITMAP </span><span class="parameter">ui_file</span><br />
|
|
|
|
<span class="bold">MUI_UI_HEADERBITMAP_RIGHT </span><span class="parameter">ui_file</span><br />
|
2003-03-09 20:23:14 +00:00
|
|
|
The interface files with the dialog resource IDD_INST that contains a bitmap control and space for
|
2003-03-18 13:33:25 +00:00
|
|
|
the header bitmap.<br /><i>Defaults: ${NSISDIR}\Contrib\UIs\modern-headerbmp.exe,
|
|
|
|
${NSISDIR}\Contrib\UIs\modern-headerbmpr.exe</i></p>
|
|
|
|
<p class="text"><span class="bold">MUI_UI_SMALLDESCRIPTION<br />MUI_UI_NODESCRIPTION</span><br />
|
|
|
|
The interface files with a customized dialog resource IDD_SELCOM for a small or no description area.<br />
|
|
|
|
<i>Defaults: {NSISDIR}\Contrib\UIs\modern-smalldesc.exe, {NSISDIR}\Contrib\UIs\modern-nodesc.exe</i></p>
|
|
|
|
<p class="text"><span class="bold">MUI_ICON </span><span class="parameter">icon_file</span><br />
|
2003-03-18 12:39:18 +00:00
|
|
|
The icon of the installer.<br /><i>Default: ${NSISDIR}\Contrib\Icons\modern-install.ico</i></p>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_UNICON </span><span class="parameter">icon_file</span><br />
|
2003-03-18 12:39:18 +00:00
|
|
|
The icon of the uninstaller.<br /><i>Default: ${NSISDIR}\Contrib\Icons\modern-uninstall.ico</i></p>
|
2003-07-17 22:26:43 +00:00
|
|
|
<p class="text"><span class="bold">MUI_LICENSEBKCOLOR </span><span class="parameter">
|
2003-07-26 12:15:58 +00:00
|
|
|
(/windows | /grey | (color: RRGGBB hexadecimal))</span><br />
|
2003-07-17 22:26:43 +00:00
|
|
|
The background color for the license textbox. Use /windows for the default text background (usually white).
|
|
|
|
Use the /grey for the standard window background (usually grey).<br /><i>Default: /windows</i></p>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_CHECKBITMAP </span><span class="parameter">bitmap_file</span><br />
|
2003-03-18 12:39:18 +00:00
|
|
|
The bitmap with images for the checks of the component select treeview.<br />
|
|
|
|
<i>Default: ${NSISDIR}\Contrib\Icons\modern.bmp</i></p>
|
2003-07-17 22:26:43 +00:00
|
|
|
<p class="text"><span class="bold">MUI_INSTALLCOLORS </span><span class="parameter">(/windows |
|
2003-07-26 12:15:58 +00:00
|
|
|
(foreground color: RRGGBB hexadecimal) (background color: RRGGBB hexadecimal))</span><br />
|
2003-07-17 22:26:43 +00:00
|
|
|
The colors of the details screen. Use /windows for the default colors.<br />
|
|
|
|
<i>Default: /windows</i></p>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_PROGRESSBAR </span><span class="parameter">("" | colored | smooth)</span><br />
|
2003-03-18 13:44:42 +00:00
|
|
|
The style of the progress bar. Colored makes it use the MUI_INSTALLCOLORS.<br /><i>Default: smooth</i></p>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_HEADERBITMAP </span><span class="parameter">bmp_file</span><br />
|
2003-06-13 15:38:17 +00:00
|
|
|
Bitmap to display in the white header (recommended size: 150x57 pixels). The NSIS Setup uses the bitmap
|
|
|
|
${NSISDIR}\Contrib\Icons\modern-header.bmp, but can also make one with your own logo.</p>
|
2003-03-09 18:55:57 +00:00
|
|
|
<div class="margin">
|
2003-03-18 12:39:18 +00:00
|
|
|
<p class="text"><span class="bold">MUI_HEADERBITMAP_RIGHT</span><br />
|
|
|
|
Display the header image on the right side instead of the left side.</p>
|
2003-06-27 20:37:50 +00:00
|
|
|
<p class="text"><span class="bold">MUI_HEADERBITMAP_NOSTRETCH</span><br />
|
|
|
|
Do not stretch the header bitmap to fit the size of the field. Use this option only if you have an
|
|
|
|
image that does not use the whole space. If you have a full size bitmap that fits exactly, you should
|
|
|
|
not use this option because the size of the field will be different if the user has a custom DPI setting.</p>
|
2003-03-09 18:55:57 +00:00
|
|
|
</div>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_SPECIALINI </span><span class="parameter">ini_file</span><br />
|
2003-05-25 20:21:21 +00:00
|
|
|
InstallOptions INI file for the Welcome and Finish page.<br />
|
2003-03-18 12:39:18 +00:00
|
|
|
<i>Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial.ini</i></p>
|
2003-03-18 13:33:25 +00:00
|
|
|
<p class="text"><span class="bold">MUI_SPECIALBITMAP </span><span class="parameter">bmp_file</span><br />
|
2003-06-13 15:38:17 +00:00
|
|
|
Bitmap for the Welcome and Finish page (recommended size: 164x314 pixels).<br />
|
|
|
|
<i>Default: ${NSISDIR}\Contrib\Icons\modern-wizard.bmp</i></p>
|
2003-06-27 20:37:50 +00:00
|
|
|
<div class="margin">
|
|
|
|
<p class="text"><span class="bold">MUI_SPECIALBITMAP_NOSTRETCH</span><br />
|
|
|
|
Do not stretch the bitmap for the Welcome and Finish page to fit the size of the field.
|
|
|
|
Use this option only if you have an image that does not use the whole space. If you have a full size
|
|
|
|
bitmap that fits exactly, you should not use this option because the size of the field will be different
|
|
|
|
if the user has a custom DPI setting.</p>
|
|
|
|
</div>
|
2003-07-26 12:15:58 +00:00
|
|
|
<p class="text"><span class="bold">MUI_BGCOLOR </span><span class="parameter">(color: 0xBBGGRR hexadecimal)</span><br />
|
2003-03-18 12:39:18 +00:00
|
|
|
Background color for the header, Welcome page and Finish page.<br /><i>Default: 0xFFFFFF</i></p>
|
2003-08-12 13:08:28 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FINISHPAGE_LINK_COLOR </span><span class="parameter">(color: 0xBBGGRR hexadecimal)</span><br />
|
|
|
|
Text color for the link on the Finish page.<br /><i>Default: 0x800000</i></p>
|
2003-03-18 12:39:18 +00:00
|
|
|
<p class="text"><span class="bold">MUI_RTL_UI</span><br />
|
2003-02-10 14:02:13 +00:00
|
|
|
Right-to-left interface.</p>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="subheader">5. Define custom functions (optional)</p>
|
2003-02-02 17:49:28 +00:00
|
|
|
<p class="text">If you want add your own code to functions inserted by the
|
2003-05-25 20:21:21 +00:00
|
|
|
Modern UI (i.e. the .onGUIInit function and the page functions), create your
|
2003-07-17 22:26:43 +00:00
|
|
|
own function and let the Modern UI functions call them.</p>
|
2003-02-02 17:49:28 +00:00
|
|
|
<p class="text"><a href="#customFunctions">More info...</a></p>
|
2003-03-12 21:42:05 +00:00
|
|
|
<p class="subheader">6. Insert language files</p>
|
2002-11-04 12:51:48 +00:00
|
|
|
<p class="text">Insert the Modern UI language files for the languages you are using:</p>
|
2002-11-04 16:40:35 +00:00
|
|
|
<pre class="margin">!insertmacro MUI_LANGUAGE "English"</pre>
|
2002-11-08 21:08:27 +00:00
|
|
|
<p class="text">The Modern UI language files load the NLF language files,
|
2002-11-04 12:51:48 +00:00
|
|
|
so you should not use LoadLanguageFile.</p>
|
2002-11-08 21:08:27 +00:00
|
|
|
<p class="text">You don't need to edit the language files if you want to customize
|
|
|
|
some strings. Use defines before you insert the language file:</p>
|
2002-12-14 00:50:29 +00:00
|
|
|
<pre class="margin">
|
2002-12-15 21:43:38 +00:00
|
|
|
!define MUI_BRANDINGTEXT "French Branding Text"
|
|
|
|
!insertmacro MUI_LANGUAGE "French"
|
2002-11-08 21:08:27 +00:00
|
|
|
</pre>
|
2003-08-22 11:24:15 +00:00
|
|
|
<p class="text"><span class="bold">Note: </span>When using different product name (MUI_PRODUCT)
|
|
|
|
for different languges, !undef MUI_PRODUCT after inserting a language file.</p>
|
2002-11-08 21:08:27 +00:00
|
|
|
<p class="text">Have a look at the language files for a complete list of all the
|
2002-12-17 13:46:45 +00:00
|
|
|
string names.</p>
|
2003-04-26 22:30:52 +00:00
|
|
|
<p class="text">You can customize texts that can be set in the Classic UI using the LicenseText,
|
|
|
|
ComponentText, DirText and MiscButtonText commands but are not being changed by the Modern UI using
|
|
|
|
these defines:</p>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="text">
|
|
|
|
<span class="bold">MUI_BUTTONTEXT_LICENSE </span><span class="parameter">text</span><br />
|
|
|
|
<span class="bold">MUI_BUTTONTEXT_BACK </span><span class="parameter">text</span><br />
|
|
|
|
<span class="bold">MUI_BUTTONTEXT_NEXT </span><span class="parameter">text</span><br />
|
|
|
|
<span class="bold">MUI_BUTTONTEXT_CANCEL </span><span class="parameter">text</span>
|
|
|
|
</p>
|
|
|
|
<p class="text">
|
|
|
|
<span class="bold">MUI_INNERTEXT_COMPONENTS_SUB1 </span><span class="parameter">text</span><br />
|
|
|
|
<span class="bold">MUI_INNERTEXT_COMPONENTS_SUB2 </span><span class="parameter">text</span>
|
|
|
|
</p>
|
|
|
|
<p class="text">
|
|
|
|
<span class="bold">MUI_TEXT_DIRECTORY_BROWSE </span><span class="parameter">text</span>
|
|
|
|
</p>
|
2003-04-26 22:30:52 +00:00
|
|
|
<p class="text">You can also customize the fonts for a language using the following defines:</p>
|
2003-04-21 12:41:50 +00:00
|
|
|
<p class="text"><span class="bold">MUI_FONT_HEADER </span><span class="parameter">font_name</span><br />
|
|
|
|
<span class="bold">MUI_FONTSIZE_HEADER </span><span class="parameter">font_size</span><br />
|
|
|
|
<span class="bold">MUI_FONTSTYLE_HEADER </span><span class="parameter">weight [/ITALIC] [/UNDERLINE] [/STRIKE]</span><br />
|
|
|
|
The font for the title in the header.</p>
|
|
|
|
<p class="text"><span class="bold">MUI_FONT_TITLE </span><span class="parameter">font_name</span><br />
|
|
|
|
<span class="bold">MUI_FONTSIZE_TITLE </span><span class="parameter">font_size</span><br />
|
|
|
|
<span class="bold">MUI_FONTSTYLE_TITLE </span><span class="parameter">weight [/ITALIC] [/UNDERLINE] [/STRIKE]</span><br />
|
|
|
|
The font for the title on the Welcome and Finish page.</p>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="sub2header">Language selection dialog</p>
|
2003-07-17 22:26:43 +00:00
|
|
|
<div class="margin">
|
2003-03-09 22:38:13 +00:00
|
|
|
<p class="text">If you want the installer to display a language selection dialog
|
2003-02-07 10:50:29 +00:00
|
|
|
(have a look at the <a href="../../Examples/Modern UI/MultiLanguage.nsi">
|
2003-03-09 22:38:13 +00:00
|
|
|
MultiLanguage.nsi</a> example), insert the MUI_LANGDLL_DISPLAY macro in .onInit:</p>
|
2003-02-07 10:50:29 +00:00
|
|
|
<pre class="margin">
|
2003-03-09 22:38:13 +00:00
|
|
|
Function .onInit
|
|
|
|
|
|
|
|
!insertmacro MUI_LANGDLL_DISPLAY
|
|
|
|
|
|
|
|
FunctionEnd
|
|
|
|
</pre>
|
2003-03-26 21:54:02 +00:00
|
|
|
<p class="text">To customize the language selection dialog, use these defines:</p>
|
2003-03-28 16:04:36 +00:00
|
|
|
<p class="text"><span class="bold">MUI_LANGDLL_WINDOWTITLE </span><span class="parameter">text</span><br />
|
2003-03-26 21:54:02 +00:00
|
|
|
The window title of the language selection dialog.</p>
|
2003-03-28 16:04:36 +00:00
|
|
|
<p class="text"><span class="bold">MUI_LANGDLL_INFO </span><span class="parameter">text</span><br />
|
2003-03-26 21:54:02 +00:00
|
|
|
The text on the language selection dialog.</p>
|
|
|
|
<p class="text"><span class="bold">MUI_LANGDLL_REGISTRY_ROOT </span><span class="parameter">root</span><br />
|
|
|
|
<span class="bold">MUI_LANGDLL_REGISTRY_KEY </span><span class="parameter">key</span><br />
|
|
|
|
<span class="bold">MUI_LANGDLL_REGISTRY_VALUENAME </span><span class="parameter">value_name</span><br />
|
|
|
|
The registry key to store the language. The users preference will be remembered.
|
|
|
|
You can also use it in the uninstaller to display the right language. Don't forget
|
|
|
|
to remove this key in the uninstaller.</p>
|
2003-04-07 18:05:12 +00:00
|
|
|
<p class="text">In the uninstaller, insert the MUI_UNGETLANGUAGE macro in un.onInit to get the stored language
|
|
|
|
preference:</p>
|
|
|
|
<pre class="margin">
|
|
|
|
Function un.onInit
|
|
|
|
|
|
|
|
!insertmacro MUI_UNGETLANGUAGE
|
|
|
|
|
|
|
|
FunctionEnd
|
|
|
|
</pre>
|
2003-06-14 12:49:33 +00:00
|
|
|
<p class="text"><span class="bold">MUI_LANGDLL_ALWAYSSHOW</span><br />
|
|
|
|
Always show the language selection dialog, even if a language has been stored in the registry.
|
|
|
|
The language stored in the registry will be selected by default.</p>
|
2003-07-17 22:26:43 +00:00
|
|
|
</div>
|
2003-03-26 21:54:02 +00:00
|
|
|
<p class="subheader">7. Set the descriptions for the sections</p>
|
2003-07-17 22:26:43 +00:00
|
|
|
<p class="text">The descriptions of sections will be displayed on the
|
2003-07-26 11:58:05 +00:00
|
|
|
components page, when the user hovers the mouse over a section.
|
2003-07-17 22:26:43 +00:00
|
|
|
If you don't want to use descriptions, use the MUI_COMPONENTSPAGE_NODESC
|
|
|
|
setting.</p>
|
|
|
|
<p class="text">To set a description for a section, you have to add an
|
|
|
|
additional parameter to the Section commmand with a name for the define
|
|
|
|
that should contain the section number:</p>
|
|
|
|
<pre class="margin">
|
|
|
|
Section "Section Name 1" Section1
|
|
|
|
...
|
|
|
|
SectionEnd
|
|
|
|
</pre>
|
2003-07-26 11:58:05 +00:00
|
|
|
<p class="text">Use these macros to set the descriptions:</p>
|
2002-11-03 16:30:59 +00:00
|
|
|
<pre class="margin">
|
2002-12-06 16:45:39 +00:00
|
|
|
LangString DESC_Section1 ${LANG_ENGLISH} "Description of section 1."
|
|
|
|
LangString DESC_Section2 ${LANG_ENGLISH} "Description of section 2."
|
2002-11-03 16:30:59 +00:00
|
|
|
|
2002-11-26 18:48:49 +00:00
|
|
|
!insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN
|
2002-12-06 16:45:39 +00:00
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
|
2002-11-03 16:30:59 +00:00
|
|
|
!insertmacro MUI_FUNCTIONS_DESCRIPTION_END
|
2002-11-03 23:24:45 +00:00
|
|
|
</pre>
|
2003-03-26 21:54:02 +00:00
|
|
|
<p class="subheader">8. Reserve Files</p>
|
2002-12-15 21:43:38 +00:00
|
|
|
<p class="text">If you are using BZIP2 compression, you might need to
|
|
|
|
insert ReserveFile commands. <a href="#ReserveFile">More info...</a></p>
|
2002-12-14 00:50:29 +00:00
|
|
|
<p class="header"><a name="customPages">Custom pages</a></p>
|
2002-11-04 11:47:34 +00:00
|
|
|
<p class="subheader">Custom page commands</p>
|
2002-11-16 22:05:56 +00:00
|
|
|
<p class="text">If you want add custom pages to your installer, you should insert your
|
2003-07-26 11:58:05 +00:00
|
|
|
own page commands between the page macros:</p>
|
2002-11-03 16:30:59 +00:00
|
|
|
<pre class="margin">
|
2003-05-25 20:21:21 +00:00
|
|
|
!insertmacro MUI_PAGE_WELCOME
|
2003-03-12 21:42:05 +00:00
|
|
|
Page custom FunctionName ;Custom page
|
2003-07-11 14:36:46 +00:00
|
|
|
!insertmacro MUI_PAGE_COMPONENTS
|
2002-11-03 16:30:59 +00:00
|
|
|
</pre>
|
2003-03-03 18:58:35 +00:00
|
|
|
<p class="text">For the uninstaller:</p>
|
2002-11-08 21:08:27 +00:00
|
|
|
<pre class="margin">
|
2003-05-25 20:21:21 +00:00
|
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
2003-03-12 21:42:05 +00:00
|
|
|
UninstPage custom un.FunctionName ;Custom page
|
2003-05-25 20:21:21 +00:00
|
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
2002-11-08 21:08:27 +00:00
|
|
|
</pre>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="subheader">Call InstallOptions</p>
|
|
|
|
<p class="text">InstallOptions is a plug-in that displays custom pages that you can create
|
|
|
|
using INI files.</p>
|
2003-01-23 19:17:48 +00:00
|
|
|
<p class="text">Have a look at the <a href="..\InstallOptions\Readme.html">
|
2003-05-25 20:21:21 +00:00
|
|
|
InstallOptions documentation</a> for info about creating InstallOptions INI files.</p>
|
2002-11-22 12:50:15 +00:00
|
|
|
<p class="text">First, you need to extract your InstallOptions INI
|
2003-03-03 18:58:35 +00:00
|
|
|
File in the .onInit function (un.onInit for the uninstaller) using
|
|
|
|
the MUI_INSTALLOPTIONS_EXTRACT macro:</p>
|
2002-11-22 12:50:15 +00:00
|
|
|
<pre class="margin">
|
|
|
|
Function .onInit
|
|
|
|
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioFile.ini"
|
|
|
|
FunctionEnd
|
|
|
|
</pre>
|
2003-01-08 15:24:31 +00:00
|
|
|
<p class="text">If your INI File is located in another directory, use
|
|
|
|
MUI_INSTALLOPTIONS_EXTRACT_AS. The second parameter is the filename for
|
|
|
|
the Plugins directory. Use this name when inserting the other InstallOptions
|
2003-07-26 11:58:05 +00:00
|
|
|
macros:</p>
|
2003-01-08 15:24:31 +00:00
|
|
|
<pre class="margin">
|
|
|
|
Function .onInit
|
|
|
|
!insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "..\ioFile.ini" "ioFile.ini"
|
|
|
|
FunctionEnd
|
|
|
|
</pre>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="text">You can call Instal Options in the function defined with the Page
|
|
|
|
or UninstPage command using the MUI_INSTALLOPTIONS_DISPLAY macro.
|
|
|
|
Use the MUI_HEADER_TEXT macro to set the text in the white box:</p>
|
2002-11-03 16:30:59 +00:00
|
|
|
<pre class="margin">
|
2002-11-15 16:37:19 +00:00
|
|
|
LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Install Options Page Title"
|
|
|
|
LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "A subtitle"
|
2002-11-03 16:30:59 +00:00
|
|
|
|
2003-03-03 18:58:35 +00:00
|
|
|
Function FunctionName ;FunctionName defined with Page command
|
2002-11-09 17:58:22 +00:00
|
|
|
!insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)"
|
2002-12-15 21:43:38 +00:00
|
|
|
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioFile.ini"
|
|
|
|
FunctionEnd
|
|
|
|
</pre>
|
2003-07-26 11:58:05 +00:00
|
|
|
<p class="text">For custom fonts and colors, macros for the initDialog and show
|
2002-12-15 21:43:38 +00:00
|
|
|
functions of InstallOptions are also available:</p>
|
|
|
|
<pre class="margin">
|
2003-07-16 22:44:33 +00:00
|
|
|
Var HWND
|
|
|
|
Var DLGITEM
|
|
|
|
Var FONT
|
|
|
|
|
2002-12-15 21:43:38 +00:00
|
|
|
LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Install Options Page Title"
|
|
|
|
LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "A subtitle"
|
|
|
|
|
|
|
|
Function FunctionName ;FunctionName defined with Page command
|
|
|
|
|
|
|
|
!insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)"
|
|
|
|
|
2003-07-16 22:44:33 +00:00
|
|
|
!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioFile.ini"
|
|
|
|
Pop $HWND ;HWND of dialog
|
2002-12-15 21:43:38 +00:00
|
|
|
|
2003-07-16 22:44:33 +00:00
|
|
|
GetDlgItem $DLGITEM $HWND 1200 ;1200 + Field number - 1
|
2002-12-15 21:43:38 +00:00
|
|
|
|
2003-07-16 22:44:33 +00:00
|
|
|
;$DLGITEM contains the HWND of the first field
|
|
|
|
CreateFont $FONT "Tahoma" 10 700
|
|
|
|
SendMessage $DLGITEM ${WM_SETFONT} $FONT 0
|
2002-12-15 21:43:38 +00:00
|
|
|
|
2003-07-16 22:44:33 +00:00
|
|
|
!insertmacro MUI_INSTALLOPTIONS_SHOW
|
2002-12-15 21:43:38 +00:00
|
|
|
|
2002-11-03 16:30:59 +00:00
|
|
|
FunctionEnd
|
|
|
|
</pre>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="text">If you need the InstallOptions return value (success, back, cancel, error),
|
|
|
|
use the MUI_INSTALLOPTIONS_DISPLAY_RETURN or MUI_INSTALLOPTIONS_SHOW_RETURN macro. The
|
|
|
|
return value will be added to the stack, so you can use the Pop command to get it.</p>
|
2003-07-26 11:58:05 +00:00
|
|
|
<p class="text">To read or write INI file values use these macros:</p>
|
2002-12-14 00:15:41 +00:00
|
|
|
<pre class="margin">
|
|
|
|
!insertmacro MUI_INSTALLOPTIONS_READ $VAR "ioFile.ini" "Field #" "Value Name"
|
|
|
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioFile.ini" "Field #" "Value Name" "Value"
|
|
|
|
</pre>
|
2003-05-25 20:21:21 +00:00
|
|
|
<p class="text">For example, you can use the MUI_INSTALLOPTIONS_READ macro in a section
|
|
|
|
to get the user input:</p>
|
|
|
|
<pre class="margin">!insertmacro MUI_INSTALLOPTIONS_READ $R0 "ioFile.ini" "Field 1" "State"</pre>
|
|
|
|
<p class="text">For more details about InstallOptions, validation of user input etc., check the
|
|
|
|
<a href="..\InstallOptions\Readme.html">InstallOptions documentation</a>.</p>
|
2002-12-15 21:43:38 +00:00
|
|
|
<p class="header"><a name="ReserveFile">Reserve files</a></p>
|
2003-05-25 20:21:21 +00:00
|
|
|
|
2002-12-15 21:43:38 +00:00
|
|
|
<p class="text">If you are using BZIP2 compression, it's important that
|
2003-08-12 14:25:06 +00:00
|
|
|
files which are being extracted in init- or page functions functions are first in
|
|
|
|
the data block, because this will make your installer start faster.</p>
|
|
|
|
<p class="text">If there are File commands in your script above Modern UI settings
|
|
|
|
or above your own init- or page functions, you have to reserve files:</p>
|
2002-12-15 21:43:38 +00:00
|
|
|
<pre class="margin">
|
|
|
|
ReserveFile "ioFile.ini" ;Your own InstallOptions INI files
|
2003-06-14 12:49:33 +00:00
|
|
|
ReserveFile "${NSISDIR}\Contrib\Icons\modern-header.bmp" ;Your header bitmap
|
2002-12-15 21:43:38 +00:00
|
|
|
|
|
|
|
!insertmacro MUI_RESERVEFILE_WELCOMEFINISHPAGE ;Welcome- or Finish page
|
2003-06-14 12:49:33 +00:00
|
|
|
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions
|
2003-03-03 18:58:35 +00:00
|
|
|
!insertmacro MUI_RESERVEFILE_LANGDLL ;LangDLL (language selection dialog)
|
2003-07-17 22:26:43 +00:00
|
|
|
!insertmacro MUI_RESERVEFILE_STARTMENU ;Start Menu Folder page
|
2002-12-15 21:43:38 +00:00
|
|
|
</pre>
|
2002-11-03 23:24:45 +00:00
|
|
|
<p class="header"><a name="examples">Examples</a></p>
|
2002-12-17 13:46:45 +00:00
|
|
|
<p class="text">Basic: <a href="../../Examples/Modern UI/Basic.nsi">Basic.nsi</a><br />
|
2003-04-27 21:35:22 +00:00
|
|
|
Welcome/Finish page: <a href="../../Examples/Modern UI/WelcomeFinish.nsi">WelcomeFinish.nsi</a><br />
|
2002-12-17 13:46:45 +00:00
|
|
|
Multilanguage: <a href="../../Examples/Modern UI/MultiLanguage.nsi">MultiLanguage.nsi</a><br />
|
2003-08-22 21:34:13 +00:00
|
|
|
Header bitmap: <a href="../../Examples/Modern UI/HeaderBitmap.nsi">HeaderBitmap.nsi</a><br />
|
2002-12-17 13:46:45 +00:00
|
|
|
Custom pages: <a href="../../Examples/Modern UI/InstallOptions.nsi">InstallOptions.nsi</a><br />
|
2003-07-17 22:26:43 +00:00
|
|
|
Start Menu Folder page: <a href="../../Examples/Modern UI/StartMenu.nsi">StartMenu.nsi</a><br />
|
2002-11-03 23:24:45 +00:00
|
|
|
</p>
|
2003-03-09 18:55:57 +00:00
|
|
|
<p class="header">Customize the dialogs</p>
|
2003-03-09 20:23:14 +00:00
|
|
|
<p class="text">To change elements on the dialogs, modify the
|
|
|
|
resource files Contrib\UIs directory using a resource editor such as
|
2003-03-09 18:55:57 +00:00
|
|
|
<a href="http://www.users.on.net/johnson/resourcehacker/">Resource Hacker</a>
|
2003-03-09 20:23:14 +00:00
|
|
|
and use the interface setting to define to filename use your customized UI.</p>
|
2002-12-06 16:45:39 +00:00
|
|
|
<p class="text">The 'Please wait while Setup is loading...' text
|
|
|
|
on the splash screen which is being displayed when the installer
|
|
|
|
is starting (Verifying installer, Unpacking data) cannot be changed
|
|
|
|
by the script, because the installer is not started yet when this
|
|
|
|
dialog is being displayed. If you want to change this text, modify
|
2003-03-09 18:55:57 +00:00
|
|
|
dialog 111 of modern.exe.<br />
|
2002-11-15 16:37:19 +00:00
|
|
|
The 'Verifying installer' and 'Unpacking data' texts are defined in
|
2002-11-03 16:30:59 +00:00
|
|
|
the language header file of the NSIS exehead (Source\exehead\lang.h).
|
|
|
|
To change them, you need to edit this file and recompile NSIS.</p>
|
2002-11-15 16:37:19 +00:00
|
|
|
<p class="text">To modify the Welcome and Finish dialog, edit the Install
|
2003-03-25 16:47:03 +00:00
|
|
|
Options INI File ioSpecial.ini in the 'Contrib\Modern UI' directory.</p>
|
2003-02-02 17:49:28 +00:00
|
|
|
<p class="header">Customize Modern UI Functions</p>
|
2003-03-18 13:44:42 +00:00
|
|
|
<a name="customFunctions"></a><p class="text">If you want add your own code to functions
|
2003-03-12 21:42:05 +00:00
|
|
|
inserted by the Modern UI, such as the .onGUIInit function and the Page functions,
|
|
|
|
create your own function and let the Modern UI functions call them. Use the defines
|
2003-07-26 11:58:05 +00:00
|
|
|
to define the name of your functions. Add the defines before the MUI_LANGUAGE macros.</p>
|
2003-03-12 21:42:05 +00:00
|
|
|
<p class="text">Example:</p>
|
|
|
|
<pre class="text">
|
2003-04-28 20:26:16 +00:00
|
|
|
!define MUI_CUSTOMFUNCTION_GUIINIT myGuiInit
|
2003-03-12 21:42:05 +00:00
|
|
|
|
|
|
|
Function myGUIInit
|
|
|
|
...your own code...
|
|
|
|
FunctionEnd
|
|
|
|
</pre>
|
2003-02-02 17:49:28 +00:00
|
|
|
<p class="text">
|
2003-03-18 13:44:42 +00:00
|
|
|
<span class="bold">GUI Init</span><br />
|
|
|
|
MUI_CUSTOMFUNCTION_GUIINIT<br />
|
2003-02-02 17:49:28 +00:00
|
|
|
MUI_CUSTOMFUNCTION_UNGUIINIT
|
|
|
|
</p>
|
|
|
|
<p class="text">
|
2003-03-18 13:44:42 +00:00
|
|
|
<span class="bold">Welcome Page</span><br />
|
2003-04-25 15:27:32 +00:00
|
|
|
MUI_CUSTOMFUNCTION_WELCOME_PRE - You can write to the IO INI file of the page (ioSpecial.ini)<br />
|
2003-07-17 22:26:43 +00:00
|
|
|
MUI_CUSTOMFUNCTION_WELCOME_SHOW - $MUI_HWND contains the HWND of the Welcome dialog
|
2003-07-16 22:44:33 +00:00
|
|
|
MUI_CUSTOMFUNCTION_WELCOME_LEAVE
|
2003-02-02 17:49:28 +00:00
|
|
|
</p>
|
|
|
|
<p class="text">
|
2003-03-18 13:44:42 +00:00
|
|
|
<span class="bold">License Page</span><br />
|
|
|
|
MUI_CUSTOMFUNCTION_LICENSE_PRE<br />
|
|
|
|
MUI_CUSTOMFUNCTION_LICENSE_SHOW<br />
|
2003-02-02 17:49:28 +00:00
|
|
|
MUI_CUSTOMFUNCTION_LICENSE_LEAVE
|
|
|
|
</p>
|
|
|
|
<p class="text">
|
2003-03-18 13:44:42 +00:00
|
|
|
<span class="bold">Components Page</span><br />
|
|
|
|
MUI_CUSTOMFUNCTION_COMPONENTS_PRE<br />
|
|
|
|
MUI_CUSTOMFUNCTION_COMPONENTS_SHOW<br />
|
2003-02-02 17:49:28 +00:00
|
|
|
MUI_CUSTOMFUNCTION_COMPONENTS_LEAVE
|
|
|
|
</p>
|
|
|
|
<p class="text">
|
2003-03-18 13:44:42 +00:00
|
|
|
<span class="bold">Directory Page</span><br />
|
|
|
|
MUI_CUSTOMFUNCTION_DIRECTORY_PRE<br />
|
|
|
|
MUI_CUSTOMFUNCTION_DIRECTORY_SHOW<br />
|
2003-02-02 17:49:28 +00:00
|
|
|
MUI_CUSTOMFUNCTION_DIRECTORY_LEAVE
|
|
|
|
</p>
|
|
|
|
<p class="text">
|
2003-03-18 13:44:42 +00:00
|
|
|
<span class="bold">Start Menu Folder Page</span><br />
|
2003-04-25 15:27:32 +00:00
|
|
|
MUI_CUSTOMFUNCTION_STARTMENU_PRE<br />
|
2003-02-27 22:20:04 +00:00
|
|
|
MUI_CUSTOMFUNCTION_STARTMENU_LEAVE
|
2003-02-02 17:49:28 +00:00
|
|
|
</p>
|
|
|
|
<p class="text">
|
2003-07-17 22:26:43 +00:00
|
|
|
<span class="bold">Install Page</span><br />
|
2003-03-18 13:44:42 +00:00
|
|
|
MUI_CUSTOMFUNCTION_INSTFILES_PRE<br />
|
|
|
|
MUI_CUSTOMFUNCTION_INSTFILES_SHOW<br />
|
2003-02-02 17:49:28 +00:00
|
|
|
MUI_CUSTOMFUNCTION_INSTFILES_LEAVE
|
|
|
|
</p>
|
|
|
|
<p class="text">
|
2003-03-18 13:44:42 +00:00
|
|
|
<span class="bold">Finish Page</span><br />
|
2003-04-25 15:27:32 +00:00
|
|
|
MUI_CUSTOMFUNCTION_FINISH_PRE - You can write to the IO INI file of the page (ioSpecial.ini)<br />
|
2003-07-17 22:26:43 +00:00
|
|
|
MUI_CUSTOMFUNCTION_FINISH_SHOW - $MUI_HWND contains the HWND of the Finish dialog
|
2003-07-16 22:44:33 +00:00
|
|
|
MUI_CUSTOMFUNCTION_FINISH_LEAVE
|
2003-02-02 17:49:28 +00:00
|
|
|
</p>
|
2003-02-02 21:07:41 +00:00
|
|
|
<p class="text">
|
2003-03-18 13:44:42 +00:00
|
|
|
<span class="bold">Installer Abort</span><br />
|
2003-02-02 21:07:41 +00:00
|
|
|
MUI_CUSTOMFUNCTION_ABORT
|
|
|
|
</p>
|
2003-02-02 17:49:28 +00:00
|
|
|
<p class="text">
|
2003-03-18 13:44:42 +00:00
|
|
|
<span class="bold">Uninstaller - Confirm Page</span><br />
|
|
|
|
MUI_UNCUSTOMFUNCTION_CONFIRM_PRE<br />
|
|
|
|
MUI_UNCUSTOMFUNCTION_CONFIRM_SHOW<br />
|
2003-02-02 19:09:51 +00:00
|
|
|
MUI_UNCUSTOMFUNCTION_CONFIRM_LEAVE
|
2003-02-02 17:49:28 +00:00
|
|
|
</p>
|
|
|
|
<p class="text">
|
2003-07-17 22:26:43 +00:00
|
|
|
<span class="bold">Uninstaller - Uninstall Page</span><br />
|
2003-03-18 13:44:42 +00:00
|
|
|
MUI_UNCUSTOMFUNCTION_INSTFILES_PRE<br />
|
|
|
|
MUI_UNCUSTOMFUNCTION_INSTFILES_SHOW<br />
|
2003-02-02 17:49:28 +00:00
|
|
|
MUI_UNCUSTOMFUNCTION_INSTFILES_LEAVE
|
|
|
|
</p>
|
2002-11-03 16:30:59 +00:00
|
|
|
<p class="header">Version history</p>
|
|
|
|
<ul>
|
2003-07-16 22:44:33 +00:00
|
|
|
<li>1.65 - July 16, 2003
|
2003-05-25 20:21:21 +00:00
|
|
|
<ul>
|
|
|
|
<li>New page configuration system, no different system for installers
|
|
|
|
with custom pages</li>
|
|
|
|
<li>Default windows color for the license text background</li>
|
2003-07-16 22:44:33 +00:00
|
|
|
<li>Example script updates (new format, user variables)</li>
|
2003-06-14 12:49:33 +00:00
|
|
|
<li>Improved registry storage for Start Menu folder</li>
|
|
|
|
<li>ReserveFile macro for StartMenu plug-in</li>
|
2003-06-27 20:37:50 +00:00
|
|
|
<li>Option to always show the language selection dialog
|
|
|
|
(even if a language has been stored in the registry)</li>
|
2003-06-14 12:49:33 +00:00
|
|
|
<li>Checkboxes on Finish page can be used to call a function</li>
|
2003-07-16 22:44:33 +00:00
|
|
|
<li>Support for custom leave functions for Start Menu Folder,
|
|
|
|
Welcome and Finish pages</li>
|
2003-06-17 12:52:12 +00:00
|
|
|
<li>Support for a link on the Finish page</li>
|
2003-07-16 22:44:33 +00:00
|
|
|
<li>New macro to get Start Menu folder in uninstaller</li>
|
2003-06-27 20:37:50 +00:00
|
|
|
<li>Options to disable bitmap stretching</li>
|
2003-07-16 22:44:33 +00:00
|
|
|
<li>Components page description box info text: always displayed
|
|
|
|
when mouse is outside box, disabled style</li>
|
2003-05-25 20:21:21 +00:00
|
|
|
</ul></li>
|
|
|
|
</ul>
|
|
|
|
<p class="text"></p>
|
|
|
|
<ul>
|
2003-04-26 22:30:52 +00:00
|
|
|
<li>1.64 - April 27, 2003
|
2003-03-26 19:16:51 +00:00
|
|
|
<ul>
|
|
|
|
<li>Support for license page with checkbox or radiobuttons to
|
|
|
|
let the user accept the agreement or not</li>
|
2003-07-26 11:58:05 +00:00
|
|
|
<li>Macros for finish headers don't have to be inserted anymore</li>
|
2003-03-26 21:54:02 +00:00
|
|
|
<li>Language preference stored when installation has completed,
|
|
|
|
no problems anymore when the users selects the wrong language</li>
|
2003-04-04 17:21:46 +00:00
|
|
|
<li>Header text for aborted installation</li>
|
2003-07-26 11:58:05 +00:00
|
|
|
<li>New macros: get language for uninstaller, delete shortcuts</li>
|
2003-04-21 12:41:50 +00:00
|
|
|
<li>Language specific fonts</li>
|
2003-04-25 15:27:32 +00:00
|
|
|
<li>Welcome/Finish page INI files can be modified in pre functions</li>
|
2003-04-26 22:30:52 +00:00
|
|
|
<li>More texts can be customized</li>
|
2003-03-26 19:16:51 +00:00
|
|
|
<li>Language files have to be updated</li>
|
|
|
|
</ul></li>
|
|
|
|
</ul>
|
2002-11-03 16:30:59 +00:00
|
|
|
<p class="text"><a href="Changelog.txt">Complete version history</a></p>
|
|
|
|
<p class="header">Credits</p>
|
2002-12-17 13:46:45 +00:00
|
|
|
<p class="text">Made by Joost Verburg.<br />
|
|
|
|
Icons designed by Nikos Adamamas, aka adni18.<br />
|
2002-11-15 16:37:19 +00:00
|
|
|
Thanks to Amir Szekely, aka KiCHiK, for his work on NSIS
|
2002-11-03 16:30:59 +00:00
|
|
|
to make this possible.</p>
|
|
|
|
<p class="header">Help</p>
|
2002-12-06 19:22:42 +00:00
|
|
|
<p class="text">Please post questions at the
|
|
|
|
<a href="http://forums.winamp.com/forumdisplay.php?forumid=65">NSIS Forum</a>.</p>
|
2002-11-03 16:30:59 +00:00
|
|
|
<p class="header">License</p>
|
2003-03-03 18:58:35 +00:00
|
|
|
<pre class="margin">Copyright © 2002-2003 Joost Verburg
|
2002-11-03 16:30:59 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2002-11-04 12:51:48 +00:00
|
|
|
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:
|
2002-11-03 16:30:59 +00:00
|
|
|
|
|
|
|
1. The origin of this software must not be misrepresented;
|
2002-11-04 12:51:48 +00:00
|
|
|
you must not claim that you wrote the original software.
|
|
|
|
If you use this software in a product, an acknowledgment in the
|
2002-11-03 16:30:59 +00:00
|
|
|
product documentation would be appreciated but is not required.
|
2002-11-04 12:51:48 +00:00
|
|
|
2. Altered versions must be plainly marked as such,
|
|
|
|
and must not be misrepresented as being the original software.
|
2002-11-03 16:30:59 +00:00
|
|
|
3. This notice may not be removed or altered from any distribution.
|
|
|
|
</pre>
|
|
|
|
</div></td>
|
2002-08-26 16:52:24 +00:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2003-02-27 22:20:04 +00:00
|
|
|
<td><div class="footer">©2002-2003 Joost Verburg</div></td>
|
2002-08-26 16:52:24 +00:00
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</td></tr>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</body>
|
2003-07-26 11:58:05 +00:00
|
|
|
</html>
|