在.net中创建安装程序

时间:2010-03-09 11:30:16

标签: c# .net sharepoint windows-installer

  

我想创建一个安装程序   只会转储几个文件和文件夹   在用户指定的位置。但   问题是这些文件是   需要从固定的   源文件夹,然后是安装程序   是建立。此外,这些文件可能会更改   任何时候,然后再一个新版本   安装程序必须是   创建

我想使用安装和部署项目在.Net中执行此操作。我不知道该怎么做。 我是否需要使用Setup Poject创建另一个类库项目?

实际上,安装程序有两个选项:

  1. 只需在指定位置提取文件
  2. 将文件(HTML文件)嵌入Intranet共享点站点。
  3. 有没有人有任何想法?

4 个答案:

答案 0 :(得分: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的UI如下所示:

alt text http://i50.tinypic.com/349bhvc.jpg

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

答案 1 :(得分:1)

答案 2 :(得分:1)

内置的设置和部署项目对我的体验非常痛苦,因此我使用Advanced installer。它便宜又易于使用。我认为他们也有免费版。

答案 3 :(得分:0)

我创建了一个Windows应用程序,其中包含多个表单,可以完成所有必需的操此Windows应用程序的行为类似于安装程序。