在.NET中创建安装程序

3
我想创建一个安装程序,它会将一些文件和文件夹放置在用户指定的位置。但问题是这些文件需要从固定的源文件夹中获取,然后再构建安装程序。此外,这些文件可能随时更改,然后需要创建新版本的安装程序。
我想在.Net中使用Setup和Deployment项目完成这个任务。但我不确定如何做。我需要创建另一个类库项目和一个Setup项目吗?
实际上,安装程序将有两个选项: 1.只需将文件提取到指定位置 2.将文件(HTML文件)嵌入Intranet SharePoint站点中。
有人有什么想法吗?

2
请查看http://www.installsite.org/pages/en/msi/authoring.htm。 - Ravisha
3
我认为WiX工具包比安装和部署项目更好。 - munissor
4个回答

1

考虑一个自解压缩 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);
}

生成的SFX的用户界面如下所示:

alt text

SFX 不依赖于 MSI,因此没有卸载选项。这可能是好事,也可能不是。



1

根据我的经验,内置设置和部署项目是一件非常麻烦的事情,所以我使用高级安装程序代替。它便宜且易于使用。我认为他们也有一个免费版。


0

我创建了一个包含多个表单的 Windows 应用程序,完成了所有必要的工作。这个 Windows 应用程序的行为类似于一个安装程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接