<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nsis.sourceforge.io/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cribe</id>
	<title>NSIS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://nsis.sourceforge.io/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cribe"/>
	<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/Special:Contributions/Cribe"/>
	<updated>2026-04-21T22:40:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Adding_custom_installer_pages&amp;diff=12780</id>
		<title>Adding custom installer pages</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Adding_custom_installer_pages&amp;diff=12780"/>
		<updated>2007-07-20T17:51:18Z</updated>

		<summary type="html">&lt;p&gt;Cribe: /* InstallOptions Code Snippet #2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Afrow UK}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
One of the more common questions that get asked is how to add custom pages/dialogs to one&#039;s installer. You may want to get some user input and take action depending on that input.&lt;br /&gt;
&lt;br /&gt;
InstallOptions was the first way to add custom dialogs, with basic controls support such as text boxes, directory request fields and so on. There is also the [[InstallOptionsEx plug-in]] for more advanced dialogs with more controls and events.&lt;br /&gt;
&lt;br /&gt;
There are other plug-ins out there now to display a range of dialogs, such as the [[nsWeb plug-in]], the [[PassDialog plug-in]], the [[EmbeddedLists plug-in]] and now the nsDialogs plug-in with NSIS (to serve as a replacement for InstallOptions).&lt;br /&gt;
&lt;br /&gt;
To generate the InstallOptions INI files, [[List_of_InstallOptions_form_designers|see this list of form designers]].&lt;br /&gt;
&lt;br /&gt;
== InstallOptions Code Snippet #1 ==&lt;br /&gt;
This is the least complicated script with no run-time events or dialog manipulation.&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
Page Custom MyCustomPage MyCustomLeave&lt;br /&gt;
&lt;br /&gt;
Function MyCustomPage&lt;br /&gt;
  # If you need to skip the page depending on a condition, call Abort.&lt;br /&gt;
  ReserveFile &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_EXTRACT &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_DISPLAY &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function MyCustomLeave&lt;br /&gt;
  # Form validation here. Call Abort to go back to the page.&lt;br /&gt;
  # Use !insertmacro MUI_INSTALLOPTIONS_READ $Var &amp;quot;InstallOptionsFile.ini&amp;quot; ...&lt;br /&gt;
  # to get values.&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== InstallOptions Code Snippet #2 ==&lt;br /&gt;
This code demonstrates modifying the dialog at run time to highlight a field that has not been filled in.&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
!include LogicLib.nsh&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Page Custom MyCustomPage MyCustomLeave&lt;br /&gt;
&lt;br /&gt;
Function MyCustomPage&lt;br /&gt;
  ReserveFile &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_EXTRACT &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_DISPLAY &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function MyCustomLeave&lt;br /&gt;
  # Get control window handle.&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_READ $R0 &amp;quot;InstallOptionsFile.ini&amp;quot; &amp;quot;Field 1&amp;quot; &amp;quot;HWND&amp;quot;&lt;br /&gt;
  # Check if text has been entered in field 1.&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_READ $R1 &amp;quot;InstallOptionsFile.ini&amp;quot; &amp;quot;Field 1&amp;quot; &amp;quot;State&amp;quot;&lt;br /&gt;
  # Make field background red!&lt;br /&gt;
  ${If} $R1 == &amp;quot;&amp;quot; #! &amp;lt;-- {Is this correct I am getting an error on compile !?}&lt;br /&gt;
    SetCtlColors $R1 0x000000 0xFF0000&lt;br /&gt;
    Abort # Go back to page.&lt;br /&gt;
  # Reset field colours.&lt;br /&gt;
  ${Else}&lt;br /&gt;
    SetCtlColors $R1 0x000000 0xFFFFFF&lt;br /&gt;
  ${EndIf}&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== InstallOptions Code Snippet #3 ==&lt;br /&gt;
This code demonstrates manipulating the dialog at run time before it is displayed. This works a bit like InstallOptions Code Snippet #2.&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
Page Custom MyCustomPage MyCustomLeave&lt;br /&gt;
&lt;br /&gt;
Function MyCustomPage&lt;br /&gt;
  ReserveFile &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_EXTRACT &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_INITDIALOG &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Get the control window handle.&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_READ $R0 &amp;quot;InstallOptionsFile.ini&amp;quot; &amp;quot;Field 1&amp;quot; &amp;quot;HWND&amp;quot;&lt;br /&gt;
  # Make the field background colour red.&lt;br /&gt;
  SetCtlColors $R0 0x000000 0xFF0000&lt;br /&gt;
&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_SHOW&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function MyCustomLeave&lt;br /&gt;
  # Form validation here. Call Abort to go back to the page.&lt;br /&gt;
  # Use !insertmacro MUI_INSTALLOPTIONS_READ $Var &amp;quot;InstallOptionsFile.ini&amp;quot; ...&lt;br /&gt;
  # to get values.&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== InstallOptions Code Snippet #4 ==&lt;br /&gt;
This code shows how to do something when a button is pressed on your custom page. You need Flags=NOTIFY on your button field in the INI file.&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
!include LogicLib.nsh&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Page Custom MyCustomPage MyCustomLeave&lt;br /&gt;
&lt;br /&gt;
Function MyCustomPage&lt;br /&gt;
  ReserveFile &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_EXTRACT &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_DISPLAY &amp;quot;InstallOptionsFile.ini&amp;quot;&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function MyCustomLeave&lt;br /&gt;
  # Find out which field event called us. 0 = Next button called us.&lt;br /&gt;
  !insertmacro MUI_INSTALLOPTIONS_READ $R0 &amp;quot;InstallOptionsFile.ini&amp;quot; &amp;quot;Settings&amp;quot; &amp;quot;State&amp;quot;&lt;br /&gt;
  ${If} $R0 == 1 # Field 1.&lt;br /&gt;
    # Do something useful here and then go back to the page.&lt;br /&gt;
    Abort&lt;br /&gt;
  ${EndIf}&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Cribe</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Talk:Adding_custom_installer_pages&amp;diff=12779</id>
		<title>Talk:Adding custom installer pages</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Talk:Adding_custom_installer_pages&amp;diff=12779"/>
		<updated>2007-07-20T17:04:55Z</updated>

		<summary type="html">&lt;p&gt;Cribe: Wow great !&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wow great ! ==&lt;br /&gt;
&lt;br /&gt;
Thanks Afrow, great detailed to the point explanation of the custom pages and how to use them. Hey you saved me the trouble of writing it too !&lt;/div&gt;</summary>
		<author><name>Cribe</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Talk:Main_Page&amp;diff=12770</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Talk:Main_Page&amp;diff=12770"/>
		<updated>2007-07-19T14:17:37Z</updated>

		<summary type="html">&lt;p&gt;Cribe: What links here ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I get the following virus message when i install any application using the Nullsoft installer: &lt;br /&gt;
&lt;br /&gt;
c:\docume~1\Karl\Temp\nsd4C.tmp\nsisdl.dll was infected by the downloader-og trojan and has been deleted to complete the clean process. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This file isn&#039;t a virus (Symantec have fixed this issue in their virus definitions dated 9 August 2004). &lt;br /&gt;
&lt;br /&gt;
See the nullsoft website for more info: http://nsis.sourceforge.net/index.php?id=2&amp;amp;backPID=2&amp;amp;tt_news=14 &lt;br /&gt;
&lt;br /&gt;
hopefully someone will do something about this.&lt;br /&gt;
&lt;br /&gt;
== NSISdl: why it gets labeled a trojan ==&lt;br /&gt;
&lt;br /&gt;
NSISdl is a plugin that can download files from the Internet.  While a spyware programmer can use it to download malware, it does not contain any malicious code.&lt;br /&gt;
&lt;br /&gt;
You should probably post in the forums when you have a problem like that - I&#039;ve seen people complaining about the same thing before.&lt;br /&gt;
&lt;br /&gt;
-[[User:Dandaman32|Dandaman32]] 22:46, 25 January 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An installer is not only the first experience of a user with your product&lt;br /&gt;
&lt;br /&gt;
eh, shouldn&#039;t this be &lt;br /&gt;
An installer is not only the first experience of a product with your user --Djon&lt;br /&gt;
:It sounds right to me. The user is having an experience with the product, not the other way around. But I&#039;m not a native English speaker, so I might be wrong. --[[User:Kichik|kichik]] 00:03, 19 May 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
:: Both are wrong, or at least ambiguous, it should be &#039;&#039;&#039;&amp;quot;An installer is not only a user&#039;s first experience with your product&amp;quot;&#039;&#039;&#039; or &#039;&#039;&#039;&amp;quot;An installer is not only the first experience a user has with your product&amp;quot;&#039;&#039;&#039;. [[User:217.206.93.34|217.206.93.34]] 08:23, 31 May 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Question ==&lt;br /&gt;
&lt;br /&gt;
Hi. I noticed this website look and feel is exactly that of Wikipedia. Is this website, Nulsoft, or NSIS associated with Wikipedia or the Wikimedia Foundation?&lt;br /&gt;
:It uses the same software, but it&#039;s in no way associated.--[[User:Kichik|kichik]] 02:22, 3 June 2006 (PDT)&lt;br /&gt;
:The NSIS site uses [http://www.mediawiki.org MediaWiki], a popular FOSS CM and wiki solution. A lot of websites use it nowadays; Wikipedia provides a (far from complete) list of [http://en.wikipedia.org/wiki/List_of_wikis websites using wiki software], and the vast majority of these wikis use MediaWiki. --[[User:Dandaman32|Dandaman32]] 09:18, 9 August 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
== NSIS Eclipse link in the Main page ==&lt;br /&gt;
&lt;br /&gt;
Joost quote: &amp;quot;EclipseNSIS link is back (this is the place for a &amp;quot;featured contribution&amp;quot; that&#039;s inside the Developer Center)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I don&#039;t see a &amp;quot;Developers Center featured contribution&amp;quot; tag, indicating that&#039;s the place for that... Also, where is the &amp;quot;featured contributions&amp;quot; section in the Developers Center? So there&#039;s actually no featured contributions! :o&lt;br /&gt;
&lt;br /&gt;
I removed this link before because I wanted featured contributions to appear only on the Developers Center. [[User:Deguix|deguix]]&lt;br /&gt;
&lt;br /&gt;
:The Developer Center is indeed the place for contributions, but some of the best ones that are important for many people in the community can get some additional promotion on the main page :) [[User:Joost|Joost]] 02:53, 11 June 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Understood, but my request for &amp;quot;Developers Center featured contribution&amp;quot; tag is still up. [[User:Deguix|deguix]] 12:35, 12 June 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
(forgot my user tag... my bad)&lt;br /&gt;
&lt;br /&gt;
== Why is this page protected? ==&lt;br /&gt;
&lt;br /&gt;
I noticed that this talk page is semi-protected so that only registered users can post - IMHO this isn&#039;t a great idea, after looking through the page history I couldn&#039;t find any spam or anything so I would suggest that this page be unprotected. --[[User:Dandaman32|Dandaman32]] 09:09, 9 August 2006 (PDT)&lt;br /&gt;
:MediaWiki probably does this automatically for protected pages. And the main page must be protected... --[[User:Kichik|kichik]] 02:33, 18 August 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
==Insert the link==&lt;br /&gt;
&lt;br /&gt;
Insert the link to Italian NSIS Portal. [[Pagina Principale]]. Thank you. --[[User:GiancyNSIS|GiancyNSIS]] 12:55, 19 September 2006 (PDT)&lt;br /&gt;
:Where do you think a good place for this would be? --[[User:Kichik|kichik]] 03:27, 22 September 2006 (PDT)&lt;br /&gt;
::kichik, putting it in &amp;quot;In other languages&amp;quot; bar would be great. But this would require some prefix like &amp;quot;it/&amp;quot; to be in the title AFAIK. [[User:Deguix|deguix]] 11:43, 22 September 2006 (PDT)&lt;br /&gt;
:::it does seem to require more than simply adding a link in to &amp;quot;it:Pagina_Principale&amp;quot;. I haven&#039;t dug in enough to find out where it gets the mapping of it: prefix to it.wikipedia.org. Anyway, it seems a bit too complicated for just a simple link. A simple link on the bottom would do for now. --[[User:Kichik|kichik]] 09:27, 29 September 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
== What links here ... ==&lt;br /&gt;
&lt;br /&gt;
Why was the &amp;quot;What links here&amp;quot; option of the navigation pane removed ? I find it very helpfull and use it a lot to trace back where an article is linked from.&lt;br /&gt;
&lt;br /&gt;
--[[User:Cribe|Cribe]] 07:17, 19 July 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Cribe</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=User_talk:Cribe&amp;diff=11331</id>
		<title>User talk:Cribe</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=User_talk:Cribe&amp;diff=11331"/>
		<updated>2006-10-23T20:58:22Z</updated>

		<summary type="html">&lt;p&gt;Cribe: Wow nice site&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wow nice site ==&lt;br /&gt;
&lt;br /&gt;
Finally a site where I can get some info to start using NSIS2.&lt;br /&gt;
I find NSIS2 just to complicated for the 1st time user but I see there are graphic UI that can be used cant wait to start testing them.... :)&lt;/div&gt;</summary>
		<author><name>Cribe</name></author>
	</entry>
</feed>