<?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=Faph</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=Faph"/>
	<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/Special:Contributions/Faph"/>
	<updated>2026-04-21T22:40:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Aero_plug-in&amp;diff=24613</id>
		<title>Aero plug-in</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Aero_plug-in&amp;diff=24613"/>
		<updated>2015-10-31T14:05:38Z</updated>

		<summary type="html">&lt;p&gt;Faph: conda execute links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Afrow UK}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Enables Windows Aero glass effect on NSIS UI. Supported on Windows Vista, 7 and 8.&lt;br /&gt;
&lt;br /&gt;
http://nsis.sourceforge.net/mediawiki/images/a/ad/Aero.png&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&amp;lt;attach&amp;gt;Aero.zip&amp;lt;/attach&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run with &amp;lt;code&amp;gt;conda execute&amp;lt;/code&amp;gt; or install with &amp;lt;code&amp;gt;conda install&amp;lt;/code&amp;gt; (see [[Conda]]).&lt;br /&gt;
&lt;br /&gt;
Stu&lt;br /&gt;
&lt;br /&gt;
[[Category:Plugins]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=AccessControl_plug-in&amp;diff=24612</id>
		<title>AccessControl plug-in</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=AccessControl_plug-in&amp;diff=24612"/>
		<updated>2015-10-31T14:03:43Z</updated>

		<summary type="html">&lt;p&gt;Faph: conda execute links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|tbf}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&amp;lt;attach&amp;gt;AccessControl.zip&amp;lt;/attach&amp;gt; (includes NSIS-Unicode variant)&lt;br /&gt;
	&lt;br /&gt;
Run with &amp;lt;code&amp;gt;conda execute&amp;lt;/code&amp;gt; or install with &amp;lt;code&amp;gt;conda install&amp;lt;/code&amp;gt; (see [[Conda]]).&lt;br /&gt;
&lt;br /&gt;
[http://support.microsoft.com/kb/243330 Well-known security identifiers in Windows operating systems]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Version:&#039;&#039;&#039; 1.0.8.1 (7th July 2014)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Supported on:&#039;&#039;&#039; &#039;&#039;WinNT4+&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The AccessControl plugin for NSIS provides a set of functions related to Windows NT access control list (ACL) management.&lt;br /&gt;
&lt;br /&gt;
== Usage Example ==&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# Give ownership for file C:\test.txt to Waterloo\Mathias&lt;br /&gt;
  AccessControl::SetFileOwner \&lt;br /&gt;
    &amp;quot;C:\test.txt&amp;quot; &amp;quot;Waterloo\Mathias&amp;quot;&lt;br /&gt;
  Pop $0 ; &amp;quot;error&amp;quot; on errors&lt;br /&gt;
&lt;br /&gt;
# Make the directory &amp;quot;$INSTDIR\database&amp;quot; read write accessible by all users&lt;br /&gt;
  AccessControl::GrantOnFile \&lt;br /&gt;
    &amp;quot;$INSTDIR\database&amp;quot; &amp;quot;(BU)&amp;quot; &amp;quot;GenericRead + GenericWrite&amp;quot;&lt;br /&gt;
  Pop $0&lt;br /&gt;
&lt;br /&gt;
# Give all authentificated users (BUILTIN\Users) full access on&lt;br /&gt;
# the registry key HKEY_LOCAL_MACHINE\Software\Vendor\SomeApp&lt;br /&gt;
  AccessControl::GrantOnRegKey \&lt;br /&gt;
    HKLM &amp;quot;Software\Vendor\SomeApp&amp;quot; &amp;quot;(BU)&amp;quot; &amp;quot;FullAccess&amp;quot;&lt;br /&gt;
  Pop $0&lt;br /&gt;
&lt;br /&gt;
# Same as above, but with a numeric string SID&lt;br /&gt;
  AccessControl::GrantOnRegKey \&lt;br /&gt;
    HKLM &amp;quot;Software\Vendor\SomeApp&amp;quot; &amp;quot;(S-1-5-32-545)&amp;quot; &amp;quot;FullAccess&amp;quot;&lt;br /&gt;
  Pop $0&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Detailed usage instructions and a list of functions can be found in the package readme Docs\AccessControl\AccessControl.txt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== File and Directory Permission List ==&lt;br /&gt;
&lt;br /&gt;
=== File Permissions ===&lt;br /&gt;
* ReadData&lt;br /&gt;
* WriteData&lt;br /&gt;
* AppendData&lt;br /&gt;
* ReadEA&lt;br /&gt;
* WriteEA&lt;br /&gt;
* Execute&lt;br /&gt;
* ReadAttributes&lt;br /&gt;
* WriteAttributes&lt;br /&gt;
* Delete&lt;br /&gt;
* ReadControl&lt;br /&gt;
* WriteDAC&lt;br /&gt;
* WriteOwner&lt;br /&gt;
* Synchronize&lt;br /&gt;
* FullAccess&lt;br /&gt;
* GenericRead&lt;br /&gt;
* GenericWrite&lt;br /&gt;
* GenericExecute&lt;br /&gt;
* NULL&lt;br /&gt;
&lt;br /&gt;
=== Directory Permissions ===&lt;br /&gt;
* ListDirectory&lt;br /&gt;
* AddFile&lt;br /&gt;
* AddSubdirectory&lt;br /&gt;
* ReadEA&lt;br /&gt;
* WriteEA&lt;br /&gt;
* Traverse&lt;br /&gt;
* DeleteChild&lt;br /&gt;
* ReadAttributes&lt;br /&gt;
* WriteAttributes&lt;br /&gt;
* Delete&lt;br /&gt;
* ReadControl&lt;br /&gt;
* WriteDAC&lt;br /&gt;
* WriteOwner&lt;br /&gt;
* Synchronize&lt;br /&gt;
* FullAccess&lt;br /&gt;
* GenericRead&lt;br /&gt;
* GenericWrite&lt;br /&gt;
* GenericExecute&lt;br /&gt;
* NULL&lt;br /&gt;
&lt;br /&gt;
=== Registry Permissions ===&lt;br /&gt;
* QueryValue&lt;br /&gt;
* SetValue&lt;br /&gt;
* CreateSubKey&lt;br /&gt;
* EnumerateSubKeys&lt;br /&gt;
* Notify&lt;br /&gt;
* CreateLink&lt;br /&gt;
* Delete&lt;br /&gt;
* ReadControl&lt;br /&gt;
* WriteDAC&lt;br /&gt;
* WriteOwner&lt;br /&gt;
* Synchronize&lt;br /&gt;
* GenericRead&lt;br /&gt;
* GenericWrite&lt;br /&gt;
* GenericExecute&lt;br /&gt;
* FullAccess&lt;br /&gt;
* NULL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See also:&#039;&#039;&#039; [http://msdn2.microsoft.com/en-us/library/aa364399.aspx File Security and Access Rights]&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;See also:&#039;&#039;&#039; [http://nsis.sourceforge.net/Talk:AccessControl_plug-in  Set the append/modify flag for ACLs]&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Comment:&#039;&#039;&#039; The GenericWrite permission isn&#039;t the same like the one on the microsoft page.&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
Written by [http://taschenorakel.de/mathias/ Mathias Hasselmann]&amp;lt;br /&amp;gt;&lt;br /&gt;
NSIS-Unicode port by [http://wizou.fr Olivier Marcoux]&amp;lt;br /&amp;gt;&lt;br /&gt;
Major changes by [http://www.afrowsoft.co.uk Afrow UK]&amp;lt;br /&amp;gt;&lt;br /&gt;
Win95/WinNT4 support and bugfixes by [[User:Anders|Anders]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Plugins]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Registry_plug-in&amp;diff=24611</id>
		<title>Registry plug-in</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Registry_plug-in&amp;diff=24611"/>
		<updated>2015-10-30T18:13:11Z</updated>

		<summary type="html">&lt;p&gt;Faph: conda execute links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Instructor}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
Download v4.1:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;attach&amp;gt;Registry.zip&amp;lt;/attach&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discussion:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://forums.winamp.com/showthread.php?s=&amp;amp;threadid=223066 Forum thread]&lt;br /&gt;
&lt;br /&gt;
Run with &amp;lt;code&amp;gt;conda execute&amp;lt;/code&amp;gt; or install with &amp;lt;code&amp;gt;conda install&amp;lt;/code&amp;gt; (see [[Conda]]).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
This is NSIS plug-in for registry. Archive also contains PPC-Registry plugin for Pocket PC.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Features:&#039;&#039;&#039;&lt;br /&gt;
*Powerful registry search:&lt;br /&gt;
**fast algorithm&lt;br /&gt;
**principle of turn in stack (first in -&amp;gt; last out)&lt;br /&gt;
**i.e. search from first registry key to last&lt;br /&gt;
**search for key, value and/or string in any root&lt;br /&gt;
**search with name and/or type&lt;br /&gt;
**search with banner support&lt;br /&gt;
**search with subkeys or not&lt;br /&gt;
*Check if registry key exists&lt;br /&gt;
*Read value of any type and size&lt;br /&gt;
*Write value of any type and size&lt;br /&gt;
*Create key&lt;br /&gt;
*Delete value     (same as DeleteRegValue)&lt;br /&gt;
*Delete key       (same as DeleteRegKey)&lt;br /&gt;
*Delete empty key (if no values and subkeys in it)&lt;br /&gt;
*Copy value&lt;br /&gt;
*Move value&lt;br /&gt;
*Copy key&lt;br /&gt;
*Move key&lt;br /&gt;
*Export key contents to the file in ansi REGEDIT4 or unicode REGEDIT5 format&lt;br /&gt;
*Import key contents from the file to the registry (Note: this does not work on Windows Vista)&lt;br /&gt;
*Converts string to hex values&lt;br /&gt;
*Converts hex values to string&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Open for search ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::Open} &amp;quot;[fullpath]&amp;quot; &amp;quot;[Options]&amp;quot; $var&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
=== Find first and next (call one or more times) ===&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::Find} &amp;quot;[handle]&amp;quot; $var1 $var2 $var3 $var4&lt;br /&gt;
&lt;br /&gt;
From ReadMe file&lt;br /&gt;
&lt;br /&gt;
&amp;quot;[handle]&amp;quot;   handle returned by registry::Open&lt;br /&gt;
&lt;br /&gt;
$var1        &amp;quot;[path]&amp;quot;&lt;br /&gt;
$var2        &amp;quot;[value]&amp;quot; or &amp;quot;[key]&amp;quot;&lt;br /&gt;
$var3        &amp;quot;[string]&amp;quot;&lt;br /&gt;
$var4        &amp;quot;[TYPE]&amp;quot;&lt;br /&gt;
	TYPE:&lt;br /&gt;
	&amp;quot;&amp;quot;                                -Search is finished&lt;br /&gt;
	&amp;quot;BANNER&amp;quot;                          -Banner is used, return only path&lt;br /&gt;
	&amp;quot;REG_KEY&amp;quot;                         -Registry key is found&lt;br /&gt;
	&amp;quot;REG_BINARY&amp;quot;                      -Raw binary data&lt;br /&gt;
	&amp;quot;REG_DWORD&amp;quot;                       -Double word in machine format (low-endian on Intel)&lt;br /&gt;
	&amp;quot;REG_DWORD_BIG_ENDIAN&amp;quot;            -Double word in big-endian format&lt;br /&gt;
	&amp;quot;REG_EXPAND_SZ&amp;quot;                   -String with unexpanded environment variables&lt;br /&gt;
	&amp;quot;REG_MULTI_SZ&amp;quot;                    -Multiple strings, next string separated by new line &#039;$\n&#039;&lt;br /&gt;
	&amp;quot;REG_NONE&amp;quot;                        -Undefined type&lt;br /&gt;
	&amp;quot;REG_SZ&amp;quot;                          -Null-terminated string&lt;br /&gt;
	&amp;quot;REG_LINK&amp;quot;                        -Unicode symbolic link&lt;br /&gt;
	&amp;quot;REG_RESOURCE_LIST&amp;quot;               -Device-driver resource list&lt;br /&gt;
	&amp;quot;REG_FULL_RESOURCE_DESCRIPTOR&amp;quot;    -Resource list in the hardware description&lt;br /&gt;
	&amp;quot;REG_RESOURCE_REQUIREMENTS_LIST&amp;quot;  -&lt;br /&gt;
	&amp;quot;REG_QWORD&amp;quot;                       -64-bit number&lt;br /&gt;
	&amp;quot;INVALID&amp;quot;                         -Invalid type code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Close search (free memory) ===&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::Close} &amp;quot;[handle]&amp;quot;&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== KeyExists (check if registry key exists) ===&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::KeyExists} &amp;quot;[fullpath]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
$var == 0   # key exists&lt;br /&gt;
$var == -1  # key doesn&#039;t exist&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Registry Read ===&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::Read} &amp;quot;[fullpath]&amp;quot; &amp;quot;[value]&amp;quot; $var1 $var2&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
* $var1 is the value read.&lt;br /&gt;
* $var2 is the type read:&lt;br /&gt;
** &amp;quot;&amp;quot; - no value&lt;br /&gt;
** &amp;quot;REG_BINARY&amp;quot;&lt;br /&gt;
** &amp;quot;REG_DWORD&amp;quot;&lt;br /&gt;
** &amp;quot;REG_DWORD_BIG_ENDIAN&amp;quot;&lt;br /&gt;
** &amp;quot;REG_EXPAND_SZ&amp;quot;&lt;br /&gt;
** &amp;quot;REG_MULTI_SZ&amp;quot;&lt;br /&gt;
** &amp;quot;REG_NONE&amp;quot;&lt;br /&gt;
** &amp;quot;REG_SZ&amp;quot;&lt;br /&gt;
** &amp;quot;REG_LINK&amp;quot;&lt;br /&gt;
** &amp;quot;REG_RESOURCE_LIST&amp;quot;&lt;br /&gt;
** &amp;quot;REG_FULL_RESOURCE_DESCRIPTOR&amp;quot;&lt;br /&gt;
** &amp;quot;REG_RESOURCE_REQUIREMENTS_LIST&amp;quot;&lt;br /&gt;
** &amp;quot;REG_QWORD&amp;quot;&lt;br /&gt;
** &amp;quot;INVALID&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Registry Write ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::Write} &amp;quot;[fullpath]&amp;quot; &amp;quot;[value]&amp;quot; &amp;quot;[string]&amp;quot; &amp;quot;[TYPE]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
$var == 0   # success&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Registry Extra Read ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::ReadExtra} &amp;quot;[fullpath]&amp;quot; &amp;quot;[value]&amp;quot; &amp;quot;[number]&amp;quot; $var1 $var2&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Registry Extra Write ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::WriteExtra} &amp;quot;[fullpath]&amp;quot; &amp;quot;[value]&amp;quot; &amp;quot;[string]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
$var == 0   # success&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create Registry Key ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::CreateKey} &amp;quot;[fullpath]&amp;quot; $var&lt;br /&gt;
$var == 1   # [fullpath] already exists&lt;br /&gt;
$var == 0   # [fullpath] successfully created&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete Registry Value (same as DeleteRegValue) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::DeleteValue} &amp;quot;[fullpath]&amp;quot; &amp;quot;[value]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
$var == 0   # success&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete Registry Key (same as DeleteRegKey) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::DeleteKey} &amp;quot;[fullpath]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
$var == 0   # success&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete Empty Registry Key (if no values and subkeys in it) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::DeleteKeyEmpty} &amp;quot;[fullpath]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
$var == 0   # success&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Copy Registry Value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::CopyValue} &amp;quot;[fullpath_source]&amp;quot; &amp;quot;[value_source]&amp;quot; &amp;quot;[fullpath_target]&amp;quot; &amp;quot;[value_target]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
$var == 0   # success&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Move Registry Value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::MoveValue} &amp;quot;[fullpath_source]&amp;quot; &amp;quot;[value_source]&amp;quot; &amp;quot;[fullpath_target]&amp;quot; &amp;quot;[value_target]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
$var == 0   # success&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Copy Registry Key ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::CopyKey} &amp;quot;[fullpath_source]&amp;quot; &amp;quot;[fullpath_target]\[new_key_name]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
$var == 0   # success&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Move Registry Key ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::MoveKey} &amp;quot;[fullpath_source]&amp;quot; &amp;quot;[fullpath_target]\[new_key_name]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
$var == 0   # success&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Registry Export (save to the file in REGEDIT4 format) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::SaveKey} &amp;quot;[fullpath]&amp;quot; &amp;quot;[file]&amp;quot; &amp;quot;[Options]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$var == 0   # success&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Registry Import (restore from the file) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::RestoreKey} &amp;quot;[file]&amp;quot; $var&lt;br /&gt;
&lt;br /&gt;
$var == 0   # success&lt;br /&gt;
$var == -1  # error&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
${registry::RestoreKey} simply exec regedit:  regedit /s &amp;quot;[file]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== StrToHex (converts string to hex values) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::StrToHex} &amp;quot;[string]&amp;quot; $var&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;[string]&amp;quot;  - String to convert&lt;br /&gt;
&lt;br /&gt;
$var  - Hex string&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== HexToStr (converts hex values to string) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::HexToStr} &amp;quot;[hex_string]&amp;quot; $var&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;[string]&amp;quot;  - Hex string to convert&lt;br /&gt;
&lt;br /&gt;
$var  - String&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Unload plugin ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
${registry::Unload}&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
=== REG_QWORD &amp;quot;Gotcha&amp;quot; ===&lt;br /&gt;
When writing values they must be in a quoted hex string exactly 16 characters long.&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
 ## Set the QWord value to 0&lt;br /&gt;
 ${registry::Write} &amp;quot;HKLM\${PathToKey}&amp;quot; &amp;quot;ExecTime&amp;quot; &amp;quot;0000000000000000&amp;quot; &amp;quot;REG_QWORD&amp;quot; $R0&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Plugins]]&lt;br /&gt;
[[Category:INI, CSV &amp;amp; Registry Functions]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=ExecDos_plug-in&amp;diff=24610</id>
		<title>ExecDos plug-in</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=ExecDos_plug-in&amp;diff=24610"/>
		<updated>2015-10-30T18:10:15Z</updated>

		<summary type="html">&lt;p&gt;Faph: conda execute links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Takhir}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Download:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;attach&amp;gt;ExecDos.zip&amp;lt;/attach&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[http://forums.winamp.com/showthread.php?threadid=181442 Forum thread]&lt;br /&gt;
&lt;br /&gt;
Run with &amp;lt;code&amp;gt;conda execute&amp;lt;/code&amp;gt; or install with &amp;lt;code&amp;gt;conda install&amp;lt;/code&amp;gt; (see [[Conda]]).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Plug-in works with console applications - creates hidden child process with redirected i/o. Compared to nsExec, ExecDos has four add-ons:&lt;br /&gt;
# string parameter that serves as stdin for running application - may be useful if you want to give login/password to running application;&lt;br /&gt;
# sync/async (background) process launch option - async is good for long running applications;&lt;br /&gt;
# it works out of section - for .onInit check outs;&lt;br /&gt;
# multithreading - allows to run a few applications at the same time.&lt;br /&gt;
Plug-in can put application output to log file, &#039;detailed&#039; installer window, any other text window, to installer stack or calls script function to handle every line.  Maximum input (stdin) string size (i.e. plug-in second parameter) is up to 8&amp;amp;nbsp;kB in the special NSIS build, 1&amp;amp;nbsp;kB otherwise. The same with output lines length if target is not a file.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;exec&#039; return code depends on the execution mode: application exit code for sync mode and control thread handle for async one. Handle required for &#039;wait&#039; - it helps to understand what application exit to wait for. If stack is not used between &#039;exec&#039; and &#039;wait&#039;, both Pop after &#039;exec&#039; and &#039;wait&#039; parameter may be skipped - handle just sits in the stack.&lt;br /&gt;
&lt;br /&gt;
ExecDos is licensed under the same license as NSIS; ZLIB.  [http://forums.winamp.com/showthread.php?postid=2488873#post2488873]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
=== &amp;quot;exec&amp;quot; function ===&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
ExecDos::exec [/NOUNLOAD /ASYNC] [/TOSTACK | /DETAILED | /TOWINDOW | /TOFUNC | /DISABLEFSR] [/TIMEOUT=xxx] \&lt;br /&gt;
         [/ENDFUNC=func] application_to_run [stdin_string] [log_file_name | window | function]&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
: Executes console application.&lt;br /&gt;
; ASYNC&lt;br /&gt;
: does not wait for process to exit. Use &#039;wait&#039; call if you want to get exit code. (/NOUNLOAD is mandatory!)&lt;br /&gt;
; TIMEOUT&lt;br /&gt;
: TOTAL execution time, milliseconds, for example /TIMEOUT=10000. Default is big enough. Short timeouts may cause app to be terminated.&lt;br /&gt;
; TOSTACK&lt;br /&gt;
: pushes output to stack instead of log_file (do not use log_file_name parameter with this option). May be confusing if few apps puts lines to stack in the async mode.&lt;br /&gt;
; DETAILED&lt;br /&gt;
: puts output to installer DetailedView window.&lt;br /&gt;
; TOWINDOW&lt;br /&gt;
: adds output lines to target window. Edit, RichEdit, ListView and ListBox supported&lt;br /&gt;
; TOFUNC&lt;br /&gt;
: pushes output lines to installer stack and calls script function&lt;br /&gt;
; DISABLEFSR &lt;br /&gt;
: Added /DISABLEFSR switch to disable WOW64 file system redirection on Windows x64 for the internal ExecDos thread&lt;br /&gt;
; application_to_run&lt;br /&gt;
: application to run.&lt;br /&gt;
; stdin_string&lt;br /&gt;
: all that application can get from stdin (optional, use &amp;quot;&amp;quot; if stack is not empty)&lt;br /&gt;
; log_file_name&lt;br /&gt;
: file where to put app&#039;s stdout (optional, but use &amp;quot;&amp;quot; if stack is not empty)&lt;br /&gt;
; window&lt;br /&gt;
: output window handle&lt;br /&gt;
; function&lt;br /&gt;
: script function pointer&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;wait&amp;quot; function ===&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;ExecDos::wait handle&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
: Waits for process exit.&lt;br /&gt;
; handle&lt;br /&gt;
: Control thread handle returned by &#039;exec&#039; call in the /ASYNC mode.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;isdone&amp;quot; function ===&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;ExecDos::isdone /NOUNLOAD handle&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
: checks thread is running. Returns 1 if application have exited, 0 if still running, -1 on error. /ASYNC mode only.&lt;br /&gt;
; handle&lt;br /&gt;
: Control thread handle returned by &#039;exec&#039; call.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Sync execution:&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
ExecDos::exec /TIMEOUT=2000 &amp;quot;$EXEDIR\consApp.exe&amp;quot; &amp;quot;test_login$\ntest_pwd$\n&amp;quot; &amp;quot;$EXEDIR\execdos.log&amp;quot;&lt;br /&gt;
Pop $0 # return value&lt;br /&gt;
MessageBox MB_OK &amp;quot;Exit code $0&amp;quot;&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Async execution:&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
ExecDos::exec /NOUNLOAD /ASYNC &amp;quot;$EXEDIR\consApp.exe&amp;quot; &amp;quot;test_login$\ntest_pwd$\n&amp;quot; &amp;quot;$EXEDIR\execdos.log&amp;quot;&lt;br /&gt;
Pop $0 # thread handle for wait&lt;br /&gt;
# you can add some installation code here to execute while application is running.&lt;br /&gt;
ExecDos::wait $0&lt;br /&gt;
Pop $0 # return value&lt;br /&gt;
MessageBox MB_OK &amp;quot;Exit code $0&amp;quot;&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;/TOSTACK&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
Push &amp;quot;ExecDos::End&amp;quot; # Add a marker for the loop to test for.&lt;br /&gt;
ExecDos::exec /NOUNLOAD /TOSTACK &amp;quot;$EXEDIR\consApp.exe&amp;quot; &amp;quot;test_login$\ntest_pwd$\n&amp;quot; &amp;quot;$EXEDIR\execdos.log&amp;quot;&lt;br /&gt;
Pop $0 # return value&lt;br /&gt;
StrCmp $0 0 0 Failed&lt;br /&gt;
## Loop through stack.&lt;br /&gt;
Loop:&lt;br /&gt;
    Pop $1&lt;br /&gt;
    StrCmp $1 &amp;quot;ExecDos::End&amp;quot; ExitLoop&lt;br /&gt;
    DetailPrint $1&lt;br /&gt;
    Goto Loop&lt;br /&gt;
ExitLoop:&lt;br /&gt;
Return # Exit Function / Section&lt;br /&gt;
Failed:&lt;br /&gt;
MessageBox MB_OK &amp;quot;Exit code $0&amp;quot;    &lt;br /&gt;
Return # Exit Function / Section&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;/TOFUNC&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
Function OutputToLog&lt;br /&gt;
  #Log the Output into the nsis logfile&lt;br /&gt;
  LogText &amp;quot;$0&amp;quot;&lt;br /&gt;
  Pop $0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Section -Core SEC0000&lt;br /&gt;
  LogSet on&lt;br /&gt;
  #Get the Address of the function&lt;br /&gt;
  GetFunctionAddress $R2 OutputToLog&lt;br /&gt;
  &lt;br /&gt;
  #Install Service&lt;br /&gt;
  ExecDos::exec /TOFUNC &#039;&amp;quot;$WINDIR\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe&amp;quot; &amp;quot;$INSTDIR\Core.exe&amp;quot;&#039; &#039;&#039; $R2&lt;br /&gt;
SectionEnd&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BAT files specifics.&#039;&#039;&#039; On some of Win98 systems where &amp;quot;Close on exit&amp;quot; option is not set for DOS apps it was found that after &#039;&#039;&#039;batch&#039;&#039;&#039; execution was finished (and installer continue it&#039;s job) hidden window still remains in the system as &amp;quot;winoldapp&amp;quot;. Following two lines solve the problem&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
# place your code here&lt;br /&gt;
cls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Telnet and ssh&#039;&#039;&#039; Plug-in doesn&#039;t work with applications requiring terminal emulation.&lt;br /&gt;
&lt;br /&gt;
/TOFUNC option and isdone function added by Afrow UK&lt;br /&gt;
&lt;br /&gt;
[[Category:Plugins]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=User:Faph&amp;diff=24608</id>
		<title>User:Faph</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=User:Faph&amp;diff=24608"/>
		<updated>2015-10-30T17:57:34Z</updated>

		<summary type="html">&lt;p&gt;Faph: Created page with &amp;quot;https://github.com/faph&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://github.com/faph&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24606</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24606"/>
		<updated>2015-10-23T10:05:10Z</updated>

		<summary type="html">&lt;p&gt;Faph: /* Option 1: Using conda execute */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
== What is Conda? ==&lt;br /&gt;
&lt;br /&gt;
[http://conda.pydata.org Conda] is a cross-language package and environment manager. It can be used to install NSIS itself and various plugins and header files.&lt;br /&gt;
&lt;br /&gt;
== Why use Conda for building NSIS installers? ==&lt;br /&gt;
&lt;br /&gt;
Conda is particularly good at managing packages and installing required packages and its dependencies. NSIS plugins and macro header files can be distributed as conda packages. A repository of NSIS conda packages is available at [https://anaconda.org/nsis the anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Conda typically runs scripts in isolated environments. Configuring continuous integration or build servers is straightforward.&lt;br /&gt;
&lt;br /&gt;
== How to use Conda == &lt;br /&gt;
&lt;br /&gt;
There are two possible approaches for building NSIS installers with conda:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
=== Option 1: Using conda execute ===&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis 3.*&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
#  - ...&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&lt;br /&gt;
; NSIS source as usual ...&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; as usual.&lt;br /&gt;
&lt;br /&gt;
Install [http://conda.pydata.org/miniconda.html miniconda] and [https://anaconda.org/conda-forge/conda-execute conda execute] first.&lt;br /&gt;
&lt;br /&gt;
=== Option 2: Creating conda environments manually === &lt;br /&gt;
&lt;br /&gt;
Create a permanent NSIS environment like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda create --name nsisenv --channel nsis  nsis=3.* plugin1 plugin2 ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; within that environment to compile an NSIS source file.&lt;br /&gt;
&lt;br /&gt;
This only requires [http://conda.pydata.org/miniconda.html miniconda].&lt;br /&gt;
&lt;br /&gt;
== Creating Conda packages for NSIS plugins ==&lt;br /&gt;
&lt;br /&gt;
It’s quite simple to create a &amp;quot;conda recipe&amp;quot; to build packages for NSIS plugins or header files. Just have a look at the examples in [https://github.com/faph/NSIS-Conda-Recipes this GitHub repo] and create a pull request with a new recipe. Once merged into the repo, the recipe will be built and the package published in the [https://anaconda.org/nsis anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Alternatively, raise a GitHub issue and someone may be willing to create a recipe.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24596</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24596"/>
		<updated>2015-10-20T08:45:59Z</updated>

		<summary type="html">&lt;p&gt;Faph: /* How to use Conda */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
== What is Conda? ==&lt;br /&gt;
&lt;br /&gt;
[http://conda.pydata.org Conda] is a cross-language package and environment manager. It can be used to install NSIS itself and various plugins and header files.&lt;br /&gt;
&lt;br /&gt;
== Why use Conda for building NSIS installers? ==&lt;br /&gt;
&lt;br /&gt;
Conda is particularly good at managing packages and installing required packages and its dependencies. NSIS plugins and macro header files can be distributed as conda packages. A repository of NSIS conda packages is available at [https://anaconda.org/nsis the anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Conda typically runs scripts in isolated environments. Configuring continuous integration or build servers is straightforward.&lt;br /&gt;
&lt;br /&gt;
== How to use Conda == &lt;br /&gt;
&lt;br /&gt;
There are two possible approaches for building NSIS installers with conda:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
=== Option 1: Using conda execute ===&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis 3.*&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
#  - ...&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: ./makensis&lt;br /&gt;
&lt;br /&gt;
; NSIS source as usual ...&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; as usual.&lt;br /&gt;
&lt;br /&gt;
Install [http://conda.pydata.org/miniconda.html miniconda] and [https://anaconda.org/conda-forge/conda-execute conda execute] first.&lt;br /&gt;
&lt;br /&gt;
=== Option 2: Creating conda environments manually === &lt;br /&gt;
&lt;br /&gt;
Create a permanent NSIS environment like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda create --name nsisenv --channel nsis  nsis=3.* plugin1 plugin2 ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; within that environment to compile an NSIS source file.&lt;br /&gt;
&lt;br /&gt;
This only requires [http://conda.pydata.org/miniconda.html miniconda].&lt;br /&gt;
&lt;br /&gt;
== Creating Conda packages for NSIS plugins ==&lt;br /&gt;
&lt;br /&gt;
It’s quite simple to create a &amp;quot;conda recipe&amp;quot; to build packages for NSIS plugins or header files. Just have a look at the examples in [https://github.com/faph/NSIS-Conda-Recipes this GitHub repo] and create a pull request with a new recipe. Once merged into the repo, the recipe will be built and the package published in the [https://anaconda.org/nsis anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Alternatively, raise a GitHub issue and someone may be willing to create a recipe.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24595</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24595"/>
		<updated>2015-10-20T08:39:09Z</updated>

		<summary type="html">&lt;p&gt;Faph: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
== What is Conda? ==&lt;br /&gt;
&lt;br /&gt;
[http://conda.pydata.org Conda] is a cross-language package and environment manager. It can be used to install NSIS itself and various plugins and header files.&lt;br /&gt;
&lt;br /&gt;
== Why use Conda for building NSIS installers? ==&lt;br /&gt;
&lt;br /&gt;
Conda is particularly good at managing packages and installing required packages and its dependencies. NSIS plugins and macro header files can be distributed as conda packages. A repository of NSIS conda packages is available at [https://anaconda.org/nsis the anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Conda typically runs scripts in isolated environments. Configuring continuous integration or build servers is straightforward.&lt;br /&gt;
&lt;br /&gt;
== How to use Conda == &lt;br /&gt;
&lt;br /&gt;
There are two possible approaches for building NSIS installers with conda:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
=== Option 1: Using conda execute ===&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis 3.*&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
#  - ...&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&lt;br /&gt;
; NSIS source as usual ...&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; as usual.&lt;br /&gt;
&lt;br /&gt;
Install [http://conda.pydata.org/miniconda.html miniconda] and [https://anaconda.org/conda-forge/conda-execute conda execute] first.&lt;br /&gt;
&lt;br /&gt;
=== Option 2: Creating conda environments manually === &lt;br /&gt;
&lt;br /&gt;
Create a permanent NSIS environment like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda create --name nsisenv --channel nsis  nsis=3.* plugin1 plugin2 ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; within that environment to compile an NSIS source file.&lt;br /&gt;
&lt;br /&gt;
This only requires [http://conda.pydata.org/miniconda.html miniconda].&lt;br /&gt;
&lt;br /&gt;
== Creating Conda packages for NSIS plugins ==&lt;br /&gt;
&lt;br /&gt;
It’s quite simple to create a &amp;quot;conda recipe&amp;quot; to build packages for NSIS plugins or header files. Just have a look at the examples in [https://github.com/faph/NSIS-Conda-Recipes this GitHub repo] and create a pull request with a new recipe. Once merged into the repo, the recipe will be built and the package published in the [https://anaconda.org/nsis anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Alternatively, raise a GitHub issue and someone may be willing to create a recipe.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24594</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24594"/>
		<updated>2015-10-19T19:39:05Z</updated>

		<summary type="html">&lt;p&gt;Faph: /* Option 2: Creating conda environments manually */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
== What is Conda? ==&lt;br /&gt;
&lt;br /&gt;
[http://conda.pydata.org Conda] is a cross-language package and environment manager. It can be used to install NSIS itself and various plugins and header files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Why use Conda for building NSIS installers? ==&lt;br /&gt;
&lt;br /&gt;
Conda is particularly good at managing packages and installing required packages and its dependencies. NSIS plugins and macro header files can be distributed as conda packages. A repository of NSIS conda packages is available at [https://anaconda.org/nsis the anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Conda typically runs scripts in isolated environments. Configuring continuous integration or build servers is straightforward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to use Conda == &lt;br /&gt;
&lt;br /&gt;
There are two possible approaches for building NSIS installers with conda:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Option 1: Using conda execute ===&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis 3.*&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
#  - ...&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&lt;br /&gt;
; NSIS source as usual ...&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; as usual.&lt;br /&gt;
&lt;br /&gt;
Install [http://conda.pydata.org/miniconda.html miniconda] and [https://anaconda.org/conda-forge/conda-execute conda execute] first.&lt;br /&gt;
&lt;br /&gt;
=== Option 2: Creating conda environments manually === &lt;br /&gt;
&lt;br /&gt;
Create a permanent NSIS environment like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda create --name nsisenv --channel nsis  nsis=3.* plugin1 plugin2 ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; within that environment to compile an NSIS source file.&lt;br /&gt;
&lt;br /&gt;
This only requires [http://conda.pydata.org/miniconda.html miniconda].&lt;br /&gt;
&lt;br /&gt;
== Creating Conda packages for NSIS plugins ==&lt;br /&gt;
&lt;br /&gt;
It’s quite simple to create a &amp;quot;conda recipe&amp;quot; to build packages for NSIS plugins or header files. Just have a look at the examples in [https://github.com/faph/NSIS-Conda-Recipes this GitHub repo] and create a pull request with a new recipe. Once merged into the repo, the recipe will be built and the package published in the [https://anaconda.org/nsis anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Alternatively, raise a GitHub issue and someone may be willing to create a recipe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24593</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24593"/>
		<updated>2015-10-19T19:38:23Z</updated>

		<summary type="html">&lt;p&gt;Faph: /* Option 1: Using conda execute */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
== What is Conda? ==&lt;br /&gt;
&lt;br /&gt;
[http://conda.pydata.org Conda] is a cross-language package and environment manager. It can be used to install NSIS itself and various plugins and header files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Why use Conda for building NSIS installers? ==&lt;br /&gt;
&lt;br /&gt;
Conda is particularly good at managing packages and installing required packages and its dependencies. NSIS plugins and macro header files can be distributed as conda packages. A repository of NSIS conda packages is available at [https://anaconda.org/nsis the anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Conda typically runs scripts in isolated environments. Configuring continuous integration or build servers is straightforward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to use Conda == &lt;br /&gt;
&lt;br /&gt;
There are two possible approaches for building NSIS installers with conda:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Option 1: Using conda execute ===&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis 3.*&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
#  - ...&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&lt;br /&gt;
; NSIS source as usual ...&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; as usual.&lt;br /&gt;
&lt;br /&gt;
Install [http://conda.pydata.org/miniconda.html miniconda] and [https://anaconda.org/conda-forge/conda-execute conda execute] first.&lt;br /&gt;
&lt;br /&gt;
=== Option 2: Creating conda environments manually === &lt;br /&gt;
&lt;br /&gt;
Create a permanent NSIS environment like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda create --name nsisenv --channel nsis  nsis plugin1 plugin2 ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; within that environment to compile an NSIS source file.&lt;br /&gt;
&lt;br /&gt;
This only requires [http://conda.pydata.org/miniconda.html miniconda].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating Conda packages for NSIS plugins ==&lt;br /&gt;
&lt;br /&gt;
It’s quite simple to create a &amp;quot;conda recipe&amp;quot; to build packages for NSIS plugins or header files. Just have a look at the examples in [https://github.com/faph/NSIS-Conda-Recipes this GitHub repo] and create a pull request with a new recipe. Once merged into the repo, the recipe will be built and the package published in the [https://anaconda.org/nsis anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Alternatively, raise a GitHub issue and someone may be willing to create a recipe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24591</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24591"/>
		<updated>2015-10-19T18:51:44Z</updated>

		<summary type="html">&lt;p&gt;Faph: /* Creating Conda packages for NSIS plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
== What is Conda? ==&lt;br /&gt;
&lt;br /&gt;
[http://conda.pydata.org Conda] is a cross-language package and environment manager. It can be used to install NSIS itself and various plugins and header files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Why use Conda for building NSIS installers? ==&lt;br /&gt;
&lt;br /&gt;
Conda is particularly good at managing packages and installing required packages and its dependencies. NSIS plugins and macro header files can be distributed as conda packages. A repository of NSIS conda packages is available at [https://anaconda.org/nsis the anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Conda typically runs scripts in isolated environments. Configuring continuous integration or build servers is straightforward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to use Conda == &lt;br /&gt;
&lt;br /&gt;
There are two possible approaches for building NSIS installers with conda:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Option 1: Using conda execute ===&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
#  - ...&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&lt;br /&gt;
; NSIS source as usual ...&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; as usual.&lt;br /&gt;
&lt;br /&gt;
Install [http://conda.pydata.org/miniconda.html miniconda] and [https://anaconda.org/conda-forge/conda-execute conda execute] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Option 2: Creating conda environments manually === &lt;br /&gt;
&lt;br /&gt;
Create a permanent NSIS environment like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda create --name nsisenv --channel nsis  nsis plugin1 plugin2 ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; within that environment to compile an NSIS source file.&lt;br /&gt;
&lt;br /&gt;
This only requires [http://conda.pydata.org/miniconda.html miniconda].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating Conda packages for NSIS plugins ==&lt;br /&gt;
&lt;br /&gt;
It’s quite simple to create a &amp;quot;conda recipe&amp;quot; to build packages for NSIS plugins or header files. Just have a look at the examples in [https://github.com/faph/NSIS-Conda-Recipes this GitHub repo] and create a pull request with a new recipe. Once merged into the repo, the recipe will be built and the package published in the [https://anaconda.org/nsis anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Alternatively, raise a GitHub issue and someone may be willing to create a recipe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24590</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24590"/>
		<updated>2015-10-19T18:49:21Z</updated>

		<summary type="html">&lt;p&gt;Faph: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
== What is Conda? ==&lt;br /&gt;
&lt;br /&gt;
[http://conda.pydata.org Conda] is a cross-language package and environment manager. It can be used to install NSIS itself and various plugins and header files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Why use Conda for building NSIS installers? ==&lt;br /&gt;
&lt;br /&gt;
Conda is particularly good at managing packages and installing required packages and its dependencies. NSIS plugins and macro header files can be distributed as conda packages. A repository of NSIS conda packages is available at [https://anaconda.org/nsis the anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Conda typically runs scripts in isolated environments. Configuring continuous integration or build servers is straightforward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to use Conda == &lt;br /&gt;
&lt;br /&gt;
There are two possible approaches for building NSIS installers with conda:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Option 1: Using conda execute ===&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
#  - ...&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&lt;br /&gt;
; NSIS source as usual ...&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; as usual.&lt;br /&gt;
&lt;br /&gt;
Install [http://conda.pydata.org/miniconda.html miniconda] and [https://anaconda.org/conda-forge/conda-execute conda execute] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Option 2: Creating conda environments manually === &lt;br /&gt;
&lt;br /&gt;
Create a permanent NSIS environment like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda create --name nsisenv --channel nsis  nsis plugin1 plugin2 ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; within that environment to compile an NSIS source file.&lt;br /&gt;
&lt;br /&gt;
This only requires [http://conda.pydata.org/miniconda.html miniconda].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating Conda packages for NSIS plugins ==&lt;br /&gt;
&lt;br /&gt;
It’s quite simple to create a &amp;quot;conda recipe&amp;quot; to build packages for NSIS plugins or header files. Just have a look at the examples at [https://github.com/faph/NSIS-Conda-Recipes this GitHub repo] and create a pull request with a new recipe. We will build the recipe and publish it on the anaconda.org NSIS channel.&lt;br /&gt;
&lt;br /&gt;
Alternatively, raise a GitHub issue and someone may be willing to create a recipe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24589</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24589"/>
		<updated>2015-10-18T15:34:00Z</updated>

		<summary type="html">&lt;p&gt;Faph: /* Option 2: Creating conda environments manually */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
== What is Conda? ==&lt;br /&gt;
&lt;br /&gt;
[http://conda.pydata.org Conda] is a cross-language package and environment manager. It can be used to install NSIS itself and various plugins and header files.&lt;br /&gt;
&lt;br /&gt;
== Why use Conda for building NSIS installers? ==&lt;br /&gt;
&lt;br /&gt;
Conda is particularly good at managing packages and installing required packages and its dependencies. NSIS plugins and macro header files can be distributed as conda packages. A repository of NSIS conda packages is available at [https://anaconda.org/nsis the anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Conda typically runs scripts in isolated environments. Configuring continuous integration or build servers is straightforward.&lt;br /&gt;
&lt;br /&gt;
== How to use Conda == &lt;br /&gt;
&lt;br /&gt;
There are two possible approaches for building NSIS installers with conda:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
=== Option 1: Using conda execute ===&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
#  - ...&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&lt;br /&gt;
; NSIS source as usual ...&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; as usual.&lt;br /&gt;
&lt;br /&gt;
Install [http://conda.pydata.org/miniconda.html miniconda] and [https://anaconda.org/conda-forge/conda-execute conda execute] first.&lt;br /&gt;
&lt;br /&gt;
=== Option 2: Creating conda environments manually === &lt;br /&gt;
&lt;br /&gt;
Create a permanent NSIS environment like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda create --name nsisenv --channel nsis  nsis plugin1 plugin2 ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; within that environment to compile an NSIS source file.&lt;br /&gt;
&lt;br /&gt;
This only requires [http://conda.pydata.org/miniconda.html miniconda].&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24588</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24588"/>
		<updated>2015-10-18T15:30:16Z</updated>

		<summary type="html">&lt;p&gt;Faph: /* How to use Conda */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
== What is Conda? ==&lt;br /&gt;
&lt;br /&gt;
[http://conda.pydata.org Conda] is a cross-language package and environment manager. It can be used to install NSIS itself and various plugins and header files.&lt;br /&gt;
&lt;br /&gt;
== Why use Conda for building NSIS installers? ==&lt;br /&gt;
&lt;br /&gt;
Conda is particularly good at managing packages and installing required packages and its dependencies. NSIS plugins and macro header files can be distributed as conda packages. A repository of NSIS conda packages is available at [https://anaconda.org/nsis the anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Conda typically runs scripts in isolated environments. Configuring continuous integration or build servers is straightforward.&lt;br /&gt;
&lt;br /&gt;
== How to use Conda == &lt;br /&gt;
&lt;br /&gt;
There are two possible approaches for building NSIS installers with conda:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
=== Option 1: Using conda execute ===&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
#  - ...&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&lt;br /&gt;
; NSIS source as usual ...&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; as usual.&lt;br /&gt;
&lt;br /&gt;
Install [http://conda.pydata.org/miniconda.html miniconda] and [https://anaconda.org/conda-forge/conda-execute conda execute] first.&lt;br /&gt;
&lt;br /&gt;
=== Option 2: Creating conda environments manually === &lt;br /&gt;
&lt;br /&gt;
Create a permanent NSIS environment like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda create -n nsisenv -c nsis nsis plugin1 plugin2 ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; within that environment to compile an NSIS source file.&lt;br /&gt;
&lt;br /&gt;
This only requires [http://conda.pydata.org/miniconda.html miniconda].&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24587</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24587"/>
		<updated>2015-10-18T15:13:46Z</updated>

		<summary type="html">&lt;p&gt;Faph: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
== What is Conda? ==&lt;br /&gt;
&lt;br /&gt;
[http://conda.pydata.org Conda] is a cross-language package and environment manager. It can be used to install NSIS itself and various plugins and header files.&lt;br /&gt;
&lt;br /&gt;
== Why use Conda for building NSIS installers? ==&lt;br /&gt;
&lt;br /&gt;
Conda is particularly good at managing packages and installing required packages and its dependencies. NSIS plugins and macro header files can be distributed as conda packages. A repository of NSIS conda packages is available at [https://anaconda.org/nsis the anaconda.org NSIS channel].&lt;br /&gt;
&lt;br /&gt;
Conda typically runs scripts in isolated environments. Configuring continuous integration or build servers is straightforward.&lt;br /&gt;
&lt;br /&gt;
== How to use Conda == &lt;br /&gt;
&lt;br /&gt;
There are two possible approaches for building NSIS installers with conda:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
=== Option 1: Using conda execute ===&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; as usual.&lt;br /&gt;
&lt;br /&gt;
You will need to install [http://conda.pydata.org/miniconda.html miniconda] (or the full blown [https://www.continuum.io/anaconda anaconda] first and then [https://anaconda.org/conda-forge/conda-execute conda execute].&lt;br /&gt;
&lt;br /&gt;
=== Option 2: Creating conda environments manually === &lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24586</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24586"/>
		<updated>2015-10-17T21:13:35Z</updated>

		<summary type="html">&lt;p&gt;Faph: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
The [http://conda.pydata.org conda package and environment manager] can be used to install NSIS, plugins and header files.&lt;br /&gt;
&lt;br /&gt;
There are two possible approaches:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
== Using conda execute ==&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs &amp;lt;code&amp;gt;makensis&amp;lt;/code&amp;gt; as usual.&lt;br /&gt;
&lt;br /&gt;
You will need to install [http://conda.pydata.org/miniconda.html miniconda] (or the full blown [https://www.continuum.io/anaconda anaconda] first and then [https://anaconda.org/conda-forge/conda-execute conda execute].&lt;br /&gt;
&lt;br /&gt;
== Creating conda environments manually == &lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24585</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24585"/>
		<updated>2015-10-17T21:05:36Z</updated>

		<summary type="html">&lt;p&gt;Faph: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageAuthor|Faph}}&lt;br /&gt;
&lt;br /&gt;
The [http://conda.pydata.org conda package and environment manager] can be used to install NSIS, plugins and header files.&lt;br /&gt;
&lt;br /&gt;
There are two approaches:&lt;br /&gt;
&lt;br /&gt;
# Using &#039;conda execute&#039;&lt;br /&gt;
# Creating conda environments manually&lt;br /&gt;
&lt;br /&gt;
== Using conda execute ==&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the installer like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs makensis as usual.&lt;br /&gt;
&lt;br /&gt;
== Creating conda environments manually == &lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24584</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Conda&amp;diff=24584"/>
		<updated>2015-10-17T20:58:02Z</updated>

		<summary type="html">&lt;p&gt;Faph: Created page with &amp;quot;The conda package manager can be used to install NSIS, plugins and header files.  There are two approaches:  # Use conda execute # Create conda environments manually  == Using...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The conda package manager can be used to install NSIS, plugins and header files.&lt;br /&gt;
&lt;br /&gt;
There are two approaches:&lt;br /&gt;
&lt;br /&gt;
# Use conda execute&lt;br /&gt;
# Create conda environments manually&lt;br /&gt;
&lt;br /&gt;
== Using conda execute ==&lt;br /&gt;
&lt;br /&gt;
Add this to the top of an NSIS source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
# conda execute&lt;br /&gt;
# env:&lt;br /&gt;
#  - nsis&lt;br /&gt;
#  - plugin1&lt;br /&gt;
#  - plugin2&lt;br /&gt;
# channels:&lt;br /&gt;
#  - nsis&lt;br /&gt;
# run_with: makensis&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile the installer like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;conda execute yourinstaller.nsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a temporary isolated conda environment with NSIS and the listed plugins installed. You don&#039;t need to have NSIS installed first! Then it simply runs makensis as usual.&lt;br /&gt;
&lt;br /&gt;
== Creating conda environments manually == &lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environments]]&lt;/div&gt;</summary>
		<author><name>Faph</name></author>
	</entry>
</feed>