考慮一個自解壓ZIP文件。
你可以用DotNetZip建立一個。它需要目標機器上的.NET。它將文件解壓縮到用戶指定的位置,然後可以選擇運行您指定的程序。該程序可能是解壓縮的文件之一,或者可能是其他內容。
若要使用DotNetZip一個自解壓存檔,這是代碼:
// create the SFX
using (ZipFile zip1 = new ZipFile())
{
zip1.AddFile(filename1, ""); // extract to toplevel
zip1.AddFile(filename2, "subdir"); // extract to subdir
zip1.AddFile(filename3, "subdir");
zip1.Comment = "This will be embedded into a self-extracting exe";
zip1.AddEntry("Readme.txt", "This is Update XXX of product YYY");
var sfxOptions = new SelfExtractorSaveOptions {
Flavor = SelfExtractorFlavor.WinFormsApplication,
Quiet = false, // false == show a UI
DefaultExtractDirectory = UnpackDirectory
}
zip1.SaveSelfExtractor(SfxFileToCreate, sfxOptions);
}
生成的自解壓的UI看起來是這樣的:
alt text http://i50.tinypic.com/349bhvc.jpg
的SFX不依賴在MSI上,所以沒有卸載選項。這可能會也可能不會是一件好事。
檢出http://www.installsite.org/pages/en/msi/authoring.htm – Ravisha 2010-03-09 11:37:31
我認爲WiX工具箱比安裝和部署項目更好。 – munissor 2010-03-09 11:38:20