C#App的安装程序

Xce*_*led 6 .net c# installer

我正在开发一个开源的C#应用​​程序.一段时间以来,我一直在使用我自己编写的基本.NET安装程序.但是,随着最近的更改,这对我来说已不再适用,因为我必须向安装程序添加大量文件 - 并且它们可能随每个版本而变化.ZIP文件也不实用.

我已经在网上做了一些检查,我看到了很多MSI,ClickOnce,自解压ZIP,以及(最有希望的)NSIS系统.它们似乎都不符合我的需求,所以我正在寻找有关使用哪个系统的建议.

我的程序的实际安装非常简单.基本上,我只需要将bin\Release目录(和所有子目录)复制到客户端的计算机上.通过在.NET安装程序中嵌入每个文件,并维护一个文件表,我一直在实现这一点.

不幸的是,我只是本地化了我的应用 我现在有30多个.resx文件(由Visual Studio编译为dll并放入MORE子目录),显然,向我的安装程序添加30多个文件夹和DLL是不切实际的.因此,为什么我在这个搜索.

还有一些其他要求:

  • 安装程序应在预定义目录中搜索指定的.exe.(我的应用程序设计为替代品)如果找不到.exe,则应提示其位置
  • 安装程序应验证"OldApp.exe.bak"是否存在.如果没有,它应该将"OldApp.exe"重命名为"OldApp.exe.bak"
  • 安装程序应更新文件.即,如果"Culture.de.dll"没有改变,安装程序将不管它.
  • 安装程序应该适用于所有.NET IDE的所有Windows版本(VS,SharpDevelop,Mono等),但不需要在其他平台上运行.
  • 构建解决方案时,应自动重新生成安装程序.换句话说,它应该可以通过"构建后"部分运行.
  • 必须能够将安装程序生成添加到源代码仓库中.这样下载我的应用程序源的任何人都可以编译安装程序.

对不起,很长的帖子,我认为最好发布更多.

Gra*_* H. 5

我推荐SharpSetup.它结合了WiX和C#,实现了非常灵活的实现.我发现它无法完成.