E' possibile utilizzare codice .NET all'interno di script NSIS tramite questo plugin (maggiori informazioni a questo indirizzo).
  Per utilizzarlo bisogna copiare la dll estratta dallo zip "CLR.dll" dentro la cartella di installazione di NSIS (tipicamente "C:\Program Files\NSIS\Plugins").
  Realizziamo un semplice assembly (per esempio "NSISPlugin.dll") che espone un metodo PUBBLICO "GetNumber(x)" che accetta un int in ingresso e ritorna il valore moltiplicato per dieci:
   
         1:  using System;
     2:   
     3:  namespace NSISPlugin
     4:  {
     5:      public class Info
     6:      {
     7:          public Info()
     8:          { }
     9:   
    10:          public int GetNumber(int nr)
    11:          {
    12:              return (nr * 10);
    13:          }
    14:      }
    15:  }
 
 
Per richiamare il metodo e leggerne il valore di ritorno dentro lo script NSIS:
   1:  OutFile "MioEsempio.exe"
   2:   
   3:  Section
   4:   
   5:  	InitPluginsDir
   6:  	SetOutPath $PLUGINSDIR
   7:  	File "NSISPlugin.dll"
   8:   
   9:  	CLR::Call /NOUNLOAD "NSISPlugin.dll" "NSISPlugin.Info" "GetNumber" 1 9
  10:  	 
  11:  	pop $0  
  12:  	MessageBox MB_OK $0
  13:  	 
  14:  	CLR::Destroy
  15:  	
  16:  SectionEnd
 
  
In questo esempio richiamo il metodo "GetNumber" passando "1" parametro del valore di 9. Lanciando il setup prodotto mi vedrò comparire una messagebox con scritto 90 (9*10).
Quindi dopo il metodo da richiamare bisogna specificare in nr. di parametri da passare e poi elencarli in sequenza.
Questo ad esempio nel caso di più parametri:
CLR::Call /NOUNLOAD "SomeAssembly.dll" "SomeNamespace.SomeClass" \
  "SomeMethod" 5 "mystring1" "x" 10 15.8 false
 
Ovviamente questo è un esempio stupido ma interessante per interfacciarsi con NSIS.