Nullsoft Scriptable Install System

Nullsoft Scriptable Install System (NSIS), Winamp'ın yapımcıları Nullsoft tarafından desteklenen Microsoft Windows için komut dosyasıyla çalışan bir kurulum sihirbazı hazırlama aracıdır. NSIS, başta zlib lisansı olmak üzere, özgür yazılım lisanslarının bir kombinasyonu altında yayımlanır. Amazon, Dropbox, Google, Ubisoft, FL Studio, BitTorrent ve McAfee gibi kullanıcılarla, InstallShield gibi ticari tescilli ürünlere yaygın olarak kullanılan bir alternatif haline geldi. == Tarih == NSIS, Winamp'ı dağıtmak için hazırlandı.Winamp 2.60 released , From Betanews, 2000-02-14, Tweakers, ...namely featuring a new 'SuperPiMP' installation system... Önceki bir Nullsoft ürünü olan PiMP'ye (plugin Mini Packager) dayalıdır ve SuperPiMP olarak da bilinir. 2.0a0 sürümünden sonra proje, Nullsoft dışındaki geliştiricilerin düzenli olarak üzerinde çalışmaya başladığı SourceForge'a taşındı. NSIS 2.0, yaklaşık iki yıl sonra yayınlandı. NSIS sürüm 1 birçok yönden klasik Windows Installer'a benzer, ancak daha fazla sıkıştırma biçimini destekler. NSIS sürüm 2, yeni bir aerodinamik grafik kullanıcı arabirimine sahiptir ve LZMA sıkıştırmayı, birden çok dili ve kullanımı kolay bir eklenti sistemini destekler. Ocak 2006'da NSIS, SourceForge'un ayın projesi oldu.SourceForge.net Project of the Month in January 2006 == Komut dosyası örnekleri == === Hello world! === !include "MUI.nsh" !insertmacro MUI_LANGUAGE "English" Name "Hello world!" # Name of the installer. OutFile "HelloWorld.exe" # Name of the installer's file. Function .onInit # Function that will be executed on installer's start up. MessageBox MB_OK|MB_ICONINFORMATION "Hello world!" # Show a message that says "Hello world!". Quit # Close the installer because this is a simple "Hello world!" installer. FunctionEnd Section # Useless section because this is a simple "Hello world!" installer. SectionEnd === Basit yükleyici === !include "MUI.nsh" !define MUI_ABORTWARNING # This will warn the user if they exit from the installer. !insertmacro MUI_PAGE_WELCOME # Welcome to the installer page. !insertmacro MUI_PAGE_DIRECTORY # In which folder install page. !insertmacro MUI_PAGE_INSTFILES # Installing page. !insertmacro MUI_PAGE_FINISH # Finished installation page. !insertmacro MUI_LANGUAGE "English" Name "MyApp" # Name of the installer (usually the name of the application to install). OutFile "MyAppInstaller.exe" # Name of the installer's file. InstallDir "$PROGRAMFILES\MyApp" # Default installing folder ($PROGRAMFILES is Program Files folder). ShowInstDetails show # This will always show the installation details. Section "MyApp" # In this section add your files or your folders. # Add your files with "File (Name of the file)", example: "File "$DESKTOP\MyApp.exe"" ($DESKTOP is Desktop folder); or add your folders always with "File (Name of the folder)\\*", always add your folders with an asterisk, example: "File /r $DESKTOP\MyApp\\*" (this will add its files and (with /r its subfolders)). SectionEnd === Başlat menüsüne bir kısayol ekleyen ve bir kaldırıcıyla birlikte gelen basit yükleyici === # define name of installer OutFile "InstallMyApp" # define installation directory InstallDir $LOCALAPPDATA\Programs\myapp # For removing Start Menu shortcut in Windows 7 RequestExecutionLevel user # start default section Section # set the installation directory as the destination for the following actions SetOutPath $INSTDIR # create the uninstaller WriteUninstaller "$INSTDIR\uninstall.exe" # point the new shortcut at the program uninstaller CreateShortcut "$SMPROGRAMS\My App.lnk" "$INSTDIR\myapp.exe" CreateShortcut "$SMPROGRAMS\My App Uninstall.lnk" "$INSTDIR\uninstall.exe" File /r "C:\path\to\where\my\files\are\\*" SectionEnd # uninstaller section start Section "uninstall" # first, delete the uninstaller Delete "$INSTDIR\uninstall.exe" # second, remove the link from the start menu Delete "$SMPROGRAMS\My App.lnk" Delete "$SMPROGRAMS\My App Uninstall.lnk" Delete $INSTDIR # uninstaller section end SectionEnd == Konseptler == sağ|küçükresim|300x300pik| NSIS 1.98 === Kod === NSIS derleyici programı makensis, aşağıdaki örnek gibi betikleri yürütülebilir yükleme programlarında derler. Komut dosyasındaki her satır tek bir komut içerir. # Example script Name "Example1" OutFile "jubaowu.exe" InstallDir "$PROGRAMFILES\Example1" Page Directory Page InstFiles Section SetOutPath $INSTDIR File ..\makensis.exe SectionEnd === Modern kullanıcı arayüzü === Sürüm 2.0, Modern UI (MUI) adı verilen yeni bir isteğe bağlı aerodinamik grafik kullanıcı arabirimini tanıttı. MUI, sihirbaz benzeri bir arayüze sahiptir. Bir karşılama sayfası, bitiş sayfası, dil seçimi diyaloğu, bileşenler için açıklama alanı ve eski kullanıcı arabiriminden daha fazla özelleştirme seçeneklerini destekler. # Modern UI example script !include MUI.nsh Name "Example 2" OutFile "Example2.exe" !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "license.rtf" !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "French" Section "Extract makensis" SetOutPath $INSTDIR File ..\makensis.exe SectionEndNSIS sürüm 2.30'dan (25 Ağustos 2007'de yayınlandı) beri, bu kullanıcı arayüzünün yeni sürümü (beta) erişilebilir durumdadır: Modern kullanıcı arayüzünün bir geliştirmesi olan Modern kullanıcı arayüzü 2 (MUI2). Eski MUI'den farklı olarak bu sürüm, eski moda InstallOptions .ini dosyaları yerine nsDialogs'u temel alır. 2.34 sürümünden itibaren (24 Aralık 2007'de yayınlandı) bu MUI2 toplu tüketim için hazırdır ve tüm NSIS paketlerine dahildir. Ayrıca tüm örnekler ona çevrilmişti. Modern UI 2 dokümantasyonu. ==== Grafik arayüzleri ==== NSIS projeleri, yalnızca metin dosyalarını (.nsi uzantılı) düzenleyerek yapılandırılabilir. Ancak, birkaç üçüncü taraf düzenleme yazılımı sağlar: * EclipseNSIS, Eclipse platformu için bir modüldür. NSIS betiklerinin düzenlenmesine, derlenmesine ve doğrulanmasına izin verir. * Özel C++ veya Delphi eklentilerini destekleyen HM NIS Edit (ücretsiz yazılım) editörü. * Venis (ücretsiz yazılım) editörü * Visual & Installer, NSIS'i Microsoft Visual Studio IDE ile entegre eden ve NSIS projelerinin doğrudan kendi içinde oluşturulmasına ve oluşturulmasına izin veren bir eklentidir. ==== Yükleyici arabirimleri ==== Modern kullanıcı arayüzünü genişleten veya değiştiren birkaç proje son birkaç yılda başladı. ExperienceUI ve UltraModernUI gibi arabirimler, InstallShield arabirimine benzeyecek şekilde kaplamasını yaparak yükleyicinin stilini tamamen değiştirir. InstallSpiderUI gibi diğer arabirimler, ASD ile aynı işlevsellik düzeyini korurken, görsel açıdan daha minimalist bir yaklaşımı hedefler. === Eklentiler === NSIS, yükleyici ile iletişim kurabilen eklentilerle genişletilebilir. Eklentiler, dinamik bağlantı kitaplığı (C, C++ veya Delphi gibi) oluşturabilen herhangi bir yönetilmeyen programlama dilinde yazılabilir ve yükleme görevlerini gerçekleştirmek veya yükleyici arabirimini genişletmek için kullanılabilir. Bir eklenti, tek bir NSIS kodu satırıyla çağrılabilir. NSIS paketiyle birlikte, yükleyicinin bir açılış ekranı görüntülemesine, özel bir sayfa görüntülemesine, arka planda bir resim görüntülemesine, bir web sitesinden dosya indirmesine, matematiksel işlemleri gerçekleştirmesine, yama dosyalarına ve daha fazlasına izin veren çeşitli eklentiler gelir. ZipDLL ve bir Python eklentisi dahil olmak üzere diğer eklentiler çevrimiçi olarak mevcuttur. == Özellikler == NSIS aşağıdaki özellikleri destekler: * zlib, bzip2 ve LZMA sıkıştırması * Komut dosyası tabanlı * Çok dilli * Eklenti desteği * Komut dosyası ön işlemcisi == Oluşturulan kurulum sihirbazı == Oluşturulan kurulum sihirbazı, kurulum sihirbazı içinde arşivlenen yükleme dosyaları, NSIS yükleyicisi için 34 KB'lik bir ek yük, ve yürütülebilir kodda derlenen yükleme komut dosyası ile bir Portable Executable'dır . Kurulum komut dosyası derlenirken, ikili dosyanın tersine mühendislik işlemi yapılmadan komut dosyası teslim edilen yürütülebilir dosyadan alınamaz. Arşiv, 7-Zip, Total Commander eklentisi InstallExplorer veya FAR Manager eklentisi InstallExplorer kullanılarak açılabilir. Arşiv birkaç klasör içerir: * $PLUGINSDIR : yükleme rutini eklentileri * $INSTDIR : kurulum sırasında kullanılan dosyalar * $_OUTDIR : kurulacak dosyalar. Oluşturulan yükleyici, kullanıcılara daha fazla kontrol sağlamak için komut satırı argümanları içerir: * /NCRC, komut dosyası zorlamadıkça CRC denetimini devre dışı bırakır * /S, yükleyici/kaldırıcıyı sessizce çalıştırır. * /D varsayılan kurulum dizinini ayarlar. Son parametre olmalı ve tırnak içermemelidir. Yalnızca mutlak yollar desteklenir. == Unicode desteği == NSIS'in 3.0'dan önceki sürümleri Unicode'u desteklemiyordu, ancak yalnızca bazı dosyaları bir eklenti aracılığıyla farklı kodlamalara dönüştürmek için bir araçtı. Ancak, tam Unicode desteğine sahip bir NSIS çeşidi mevcuttur. Bu varyantı kullanan önemli projeler şunlardır: * Google (Picasa) * Windows için Apache OpenOffice * Mozilla (Firefox, Mozilla Thunderbird) * FileZilla * Winamp * Flickr * PortableApps.com * Second Life * Xampp * CherryPlayer * AVG * TeamViewer NSIS'in 3.0 sürümünün piyasaya sürülmesiyle, "Unicode true" derleyici yönergesi kullanılarak Unicode desteği uygulanabilir. Bu, daha fazla kod değişikliği olmaksızın tam Unicode desteği sağlar, ancak yükleyici Windows 95/98/Me altında çalışmaz. 2016 itibarıyla, 3.0 sürümünden önce NSIS, Unicode 2.46.5 Rev 3 ve ANSI 2.51 için PortableApps formatında mevcuttu. == Ayrıca bakınız == * Kurulum yazılımı listesi == Kaynakça == == Dış bağlantılar == * * NSIS on SourceForge * NSIS at Open Hub * Unofficial 64-bit builds Kategori:Taşınabilir yazılım Kategori:C++ ile programlanmış ücretsiz yazılımlar Kategori:C ile programlanmış ücretsiz yazılımlar Kategori:İncelenmemiş çeviri içeren sayfalar