考虑一个自解压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