推荐的.NET app安装程序?

时间:2009-02-24 20:47:27

标签: windows deployment .net-2.0 installer

我需要为我的应用创建一个执行以下操作的安装:

  1. 复制文件
  2. 写入注册表设置
  3. 注册Windows服务
  4. 写一个XML app.config文件(基于安装期间用户提供的信息 - 一个连接字符串)
  5. 针对远程数据库执行SQL脚本(在#4中获取连接信息)
  6. 安装并注册COM dll
  7. 向控制面板添加条目>添加/删除要卸载的程序
  8. 我不需要任何奇特的逻辑来允许用户自定义这些步骤 - 我可以使用用户提供的信息对其进行硬编码。

    我看了Wix,但发现文档和示例与最近发布的版本不符。

    我也查看了NSIS,但发现支持编写XML太有限了(plugin只能处理最多64字节的字符串。)

    我最初刷掉了安装项目中内置的VS2005,因为无法处理这些任务,但我已经准备好在遇到我认为更好的选择之后重新考虑。

    有什么建议吗?

4 个答案:

答案 0 :(得分:2)

我仍然建议更多地研究WiX。我们用它来做除了那个列表上的#6之外的所有事情,虽然有一个小的学习曲线。我们已经使用WiX v3近3年了,而且我没有找到太多的地方,文档/教程远远不合适。通常它的位置是因为它们清理了语法并使其更好。

此外,从下一版Visual Studio(2010 / Rosario)开始,WiX正在直接构建到Visual Studio中,我不确定是否与当前的Setup Projects并行或完全替换它们。

答案 1 :(得分:1)

Visual Studio Installer项目可以执行您想要的任何自定义代码;不明白为什么你的任何要求会成为问题。

答案 2 :(得分:0)

我使用过Visual Studio(2005)和Wise并且可以推荐两者。你没有提到这个工具是否必须是免费的,如果是这样,那就明白了。尽管如此,Wise有一个简单的学习曲线,非常强大并且有很好的文档记录。我用Visual Studio发生了一些奇怪的事情。有一次我不得不删除我的项目并重新开始(可能是由于我的愚蠢 - 从未弄明白),但总的来说,我在目前的工作中已经使用了几年,这对我有用。

答案 3 :(得分:0)

您可以在没有商业工具的情况下使用Visual Studio和Windows来实现您的需求。

首先,查看answer以创建单个安装程序文件。

然后,您可以研究如何创建可以执行注册表,读/写文件和单独注册COM dll的自定义操作类。