Nis142009

Nullsoft Scriptable Install System (NSIS)

Yazan : Zafer    14.04.2009 | Yazılım

Çalıştığınız şirkette veya kendi özel uğraşınız olarak bir program geliştirdiniz ve şimdi bunu kullanıcılara sunmak istiyorsunuz. Programınız haliyle bir takım ekstra dosyalara ihtiyaç duymakta ve tabi ki bu dosyalar sizin uygulamayı geliştirdiğiniz ortamda mevcut ancak bu uygulamayı kuracak kullanıcılarında bu dosyalara sahip olması gerekiyor. İşte bu noktada programları kuran başka programlara ihtiyaç duyuluyor ve bu programlar uygulamanın çalışması için gerekli ayarları otomatik olarak yapmakta ve uygulama kurmayı sadece "İleri" tuşuna basmak kadar kolay bir hale getirmektedir.

Günümüzde çok gelişmiş kurulum (Setup) programları mevcut bunlardan bazıları InstallShield, InstallAware, Wise v.b. gibi programlar özellikle grafik arayüzleri ve işlemler sırasında kullanıcıya yardımcı olmak için hazırlanmış olan sihirbazları ile oldukça kullanışlı ve hızlı bir şekilde kurulum programı hazırlamamıza yardımcı oluyorlar. Ücretli olan bu programlar sadece kurulum hazırlama dışında bir çok ekstra araçlada yazılım geliştiricilere yardımcı oluyorlar.

Benim bugün size bahsetmek istediğim kurulum programı ise Nullsoft firması tarafından geliştirilen açık kaynak kodlu bir kurulum programı olan NSIS (Nullsoft Scriptable Install System) programı, aslında programdan ziyade derleyici (compiler) dersek sanırım daha doğru olur, çünkü bizim anladığımız anlamda bir IDE gelmiyor karşımıza sadece bizim yazdığımız kodları derleyip, bundan kurulum.exe dosyasını oluşturan bir derleyici ile karşılaşıyoruz. Bazıları zor olanı sever diyorum başka bir açıklamada gelmiyor aklıma diğer tarafta harika kullanıcı arayüzüne sahip programlar varken bazıları bu şekilde herşeyi satır satır yazarak kurulum programı oluşturmayı seçiyor. Onlardan biriside benim ve bu konuda çok az Türkçe kaynak olduğunuda görünce bu yazıyı siteme eklemeyi uygun buldum. Bilmiyorum kaç kişi bir kurulum programını kodlayarak hazırlamak ister ama eğer isteyen olursa burda küçük bir başlangıç yapmayı amaçlıyorum.


"NSIS", "HM NIS Edit" ve ilk adımlar

NSIS programını bilgisayarınıza kurduktan sonra herhangi bir metin düzenleyici ile kodlarınızı yazıp NSIS ile derleyebilirsiniz.Yazdığınız kodları uzantısı ".nsi" olan bir dosyaya kaydetmeniz gerekli, işlerinizi biraz daha kolaylaştırmak yada kodu yazarken sadece yazdıklarınıza odaklanmak isterseniz. NSIS kodlarını yazmak için kullanılan editörlerden birini edinebilirsiniz. Ben bu yazıda "HM NIS" editörünü kullanacağım siz istediğiniz bir editörde yazabilirsiniz.

Öncelikle http://nsis.sourceforge.net/Docs/ adresinden NSIS kullanıcı kılavuzunu takip etmenizi tavsiye ederim. Aradığınız bir çok şey zaten orada mevcut. Şimdi gelin birlikte basit bir kurulum dosyası olan "basit.nsi" dosyasının kodlarını birlikte inceleyelim;

; basit.nsi
;
; Bu kod dosyası NSIS ile yapılabilecek en basit kod dosyası sizler çok
; daha fazla özellik ekleyerek istediğiniz kurulum dosyalarını oluşturabilirsiniz.
; Bu program "NSIS_Setup" dosyasını kullanıcının gösterdiği dizine kopyalar.

;--------------------------------

; Kurulum programının adı
Name "Ornek1"

; Oluşturulacak dosyanın adı
OutFile "ornek1.exe"

; Varsayılan kurulum dizini
InstallDir $PROGRAMFILES\Ornek1

; Bu metin kullanıcının kurulacak dizini seçecği pencerede görünecek
DirText "Ornek1 programı bilgisayarınıza kurulacak. Bir dizin seçiniz."

;--------------------------------

; Kurulumla ilgili tüm bölümler
Section "" ;Herhangi bir birleşen eklenmedi

; Dosyanın kopyalanacağı dizin kurulum dizini olarak belirleniyor.
SetOutPath $INSTDIR

; Dosyayı belirtilen kurulum dizinene kopyala
File MyProg.exe

SectionEnd ; bölüm sonu

Kodlardan da anlaşılacağı üzere ";" karekteri açıklama satırlarını temsil ediyor. Bu projede ben bir kurulum dosyası oluşturuyorum, bu kurulum paketinin içinde sadece NSIS_Setup.exe isimli dosya var bu deneme amaçlı kullandığım NSIS programı kurulum dosyasının ta kendisi, kurulum programım bu dosyayı benim belirlediğim veya varsayılan olarak verilen dizine kopyalıyor hepsi bu kadar. Sizinde göreceğiniz gibi kodların içinde "$PROGRAMFILES", "$INSTDIR" gibi değişkenler var bunlar sistemde tanımlı olan ve bizim kullanabileceğimiz değişkenler birisi Windows sisteminde "Program Files" klasörünü gösterirken diğeri "InstallDir" değişkeni ile tanımlanan kurulum dizinini ifade ediyor. Bu kodları HM NIS programı ile derleyip yine HM NIS ile çalıştırdığınız zaman karşınıza aşağıdaki iki ekran gelecek ve program seçilen dizine kopyalanacaktır.


Kurulum işleminde daha bir sürü özellik var, bunları kullanım kılavuzunu kullanarak öğrenebilir ve kodlarınızda kullanabilirsiniz. Son olarak program kaldırma (uninstall) seçeneğinide kurulum programımıza eklemek istiyorum. Bunun için kodumuzu aşağıdaki gibi düzenliyoruz;

; basit.nsi
;
; Bu kod dosyası NSIS ile yapılabilecek en basit kod dosyası sizler çok
; daha fazla özellik ekleyerek istediğiniz kurulum dosyalarını oluşturabilirsiniz.
; Bu program "NSIS_Setup" dosyasını kullanıcının gösterdiği dizine kopyalar.

;--------------------------------

; Kurulum programının adı
Name "Ornek1"

; Oluşturulacak dosyanın adı
OutFile "ornek1.exe"

; Varsayılan kurulum dizini
InstallDir $PROGRAMFILES\Ornek1

; Bu metin kullanıcının kurulacak dizini seçecği pencerede görünecek
DirText "Ornek1 programı bilgisayarınıza kurulacak. Bir dizin seçiniz."

;--------------------------------

; Kurulumla ilgili tüm bölümler
Section "" ;Herhangi bir birleşen eklenmedi

; Dosyanın kopyalanacağı dizin kurulum dizini olarak belirleniyor.
SetOutPath $INSTDIR

; Dosyayı belirtilen kurulum dizinene kopyala
File MyProg.exe

; Kurulan programı kaldıracak olan "Uninstall.exe" programını nereye yerleştireceğimizi belirliyoruz.
WriteUninstaller $INSTDIR\Uninstall.exe

SectionEnd ; bölüm sonu

; Program kaldırma ile ilgili bölüm, dosyalar ve dizin siliniyor.
Section "Uninstall"

Delete $INSTDIR\Uninstall.exe
Delete $INSTDIR\NSIS_Setup.exe
RMDir $INSTDIR

SectionEnd ; bölüm sonu

Program kaldırma esnasında da  "Uninstall.exe" programı NSIS tarafından oluşturuluyor bizde bu programı kopyalacağımız yeri sisteme gösteriyoruz. Bu program çağrıldığında Section "Uninstall" bölümü çalışmaya başlıyor ve buradaki işlemler uygulanarak program sistemden kaldırılıyor.

Buraya kadar NSIS ve HM NIS ile basit bir kurulum dosyasının hazırlanma aşamasını anlatmaya çalıştım. Sadece konuya giriş niteliği taşıyan bu basit örnek umarım ilgilenen arkadaşlar için bir başlangıç olmuştur. Daha çok bilgiye NSIS kullanım kılavuzu ve NSIS forumları üzerinden ulaşabilirsiniz. Ayrıca yardımcı olabileceğim konuda bende elimden geleni yapmaya çalışırım, bunun için iletişim bölümünden bana ulaşabilrisiniz. Tüm okuyucularıma sağlık ve sıhhat dilerim. Keyifli günler.



Etiketler: , , ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 Yorum