Kendiliğinden açılan arşiv (SFX veya SEA), yürütülebilir yönergelerle birlikte sıkıştırılmış veriler içeren özel bir dosya türüdür. Bu arşiv, içerdiği dosyaları kendi kendine çıkartma özelliğine sahiptir. Bu nedenle, kendiliğinden açılan arşivleri açmak için herhangi bir özel çıkarıcı veya sıkıştırıcı açıcı uygulamaya ihtiyacınız yoktur. Bu makalede, .NET uygulamalarınızın içinden C# dilinde kendi kendine ayıklanan yürütülebilir arşivleri nasıl oluşturacağınızı öğreneceksiniz.
- Kendiliğinden Açılan Arşivler Oluşturmak için .NET API
- C#’ta Kendiliğinden Açılan Arşiv Oluşturma
- Kendiliğinden Açılan Arşivleri Komut Satırından Yürütme
Kendiliğinden Açılan Arşivler Oluşturmak için C# .NET API
Kendi kendine açılan arşivler oluşturmak için Aspose.ZIP for .NET kullanacağız. .NET uygulamalarında arşivleme özelliklerini oldukça kolay bir şekilde otomatikleştirmenizi sağlayan, güçlü ve zengin özelliklere sahip bir API’dir. Ayrıca, ZIP, TAR vb. gibi çeşitli popüler arşiv biçimlerini destekler. API’nin DLL’sini indirebilir veya NuGet kullanarak kurabilirsiniz.
PM> Install-Package Aspose.Zip
C#’ta Kendiliğinden Açılan Arşiv Oluşturma
Aspose.ZIP for .NET’i yüklediğinizi varsayarak kendi kendine açılan bir arşiv oluşturmaya başlayalım. Bu çalıştırılabilir bir arşiv olacağı için uzantısı .exe olacaktır. Aşağıda, C# dilinde yürütülebilir bir kendi kendine açılan arşiv oluşturma adımları yer almaktadır.
- Öncelikle, arşiv için yeni bir FileStream nesnesi oluşturun.
- Ardından, Archive sınıfından bir nesne oluşturun.
- Archive.CreateEntry(string, string) yöntemini kullanarak arşive dosya ekleyin.
- Kendi kendine açılan arşiv seçeneklerini ayırmak için SelfExtractorOptions sınıfından bir nesne oluşturun.
- Başlık, simge vb. gibi seçenekleri ayarlayın.
- Son olarak, kendi kendine açılan arşiv dosyasını Archive.Save(FileStream, new ArchiveSaveOptions()) yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, .NET’te kendi kendine açılan yürütülebilir bir arşivin nasıl oluşturulacağını gösterir.
// SFX arşivini kaydetmek için FileStream oluşturun
using (FileStream zipFile = File.Open("Archives/archive.exe", FileMode.Create))
{
// Yeni bir arşiv oluştur
using (var archive = new Archive())
{
// Arşive dosya/klasör ekleme
archive.CreateEntry("SourceFile1.txt", "Archives/SourceFile1.txt");
// SFX arşivi için seçenekler oluşturun ve ayarlayın
var sfxOptions = new SelfExtractorOptions()
{
ExtractorTitle = "Extractor",
CloseWindowOnExtraction = true,
};
// SFX arşivi oluştur
archive.Save(zipFile, new ArchiveSaveOptions() { SelfExtractorOptions = sfxOptions });
}
}
Komut Satırını Kullanarak Kendiliğinden Açılan Arşivleri Yürütme
Bir önceki bölümde oluşturduğumuz kendiliğinden açılan arşiv, üzerine çift tıklanarak açılabilir. Ancak komut satırını kullanmak isterseniz aşağıdaki komut ile arşivi çıkartabilirsiniz.
C:>archive.exe -autoExtract
Burada -autoExtract, arşivi çıkarmanıza izin veren birincil seçenektir. Arşivin parola korumalı olması durumunda, aşağıdaki komutta gösterildiği gibi -password seçeneğini kullanarak parolayı belirleyebilirsiniz.
C:>archive.exe -autoExtract -password:T0p$ecret
Yürütülebilir bir kendi kendine açılan arşivle çalışmak için komutların tam listesi bu makalede sağlanmıştır.
Ücretsiz API Lisansı Alın
Ücretsiz bir geçici lisans alarak değerlendirme sınırlamaları olmadan Aspose.ZIP for .NET’i kullanabilirsiniz.
Çözüm
Bu makalede, C# dilinde kendi kendine açılan arşivlerin (SFX veya SEA) nasıl oluşturulacağını öğrendiniz. Ayrıca, komut satırını kullanarak kendi kendine açılan bir arşivin nasıl çıkarılacağını tartıştık. Aspose.ZIP for .NET’i kolayca kurabilir ve sağlanan kod örneğini .NET uygulamalarınıza gömebilirsiniz. Ayrıca, belgelerini kullanarak Aspose.ZIP for .NET hakkında daha fazlasını keşfedebilirsiniz. Ayrıca, sorularınızı forumumuza gönderebilirsiniz.