2009-02-24 91 views
1

我需要创建一个安装我的应用程序执行以下操作:推荐的.NET应用程序安装程序?

  1. 复制文件
  2. 写入注册表设置
  3. 注册一个窗口服务
  4. 写入一个XML app.config文件(基于根据用户提供的信息安装 - 连接字符串)
  5. 针对远程数据库执行SQL脚本(在#4中获得连接信息)
  6. 安装并注册一个COM DLL
  7. 再添进入控制面板>添加/卸载为

删除程序,我不需要任何花哨的逻辑,使用户可以自定义这些步骤 - 我可以与用户硬编码它们提供的信息在适当的地方注入

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

我也看过NSIS,但发现支持编写XML过于有限(plugin因此只能处理高达64字节的字符串)。

我最初没有在Setup项目中构建VS2005,因为它无法处理这些任务,但我已经准备好在我认为是更好的选择之后重新考虑。

有什么建议吗?

回答

2

我仍然会推荐多看一下WiX。我们用它来做所有事情,除了那个清单上的#6以外,还有一个小的学习曲线。我们已经使用了WiX v3近3年,并且我没有发现太多的地方,文档/教程太不合适。通常它在哪里,因为它们清理了语法并使其更好。另外,从下一版Visual Studio(2010/Rosario)开始,WiX直接构建到Visual Studio中,我不确定是否与当前安装项目并行或完全替换它们。

+0

如何使用WIX编写XML文件?有没有办法做到这一点,不是黑客? – 2009-02-25 14:10:37

1

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

+0

看起来这是我必须要做的。感谢您的推动。 – 2009-02-24 21:43:42

0

我已经使用Visual Studio(2005)和Wise,并可以推荐这两种。你没有提到该工具是否必须是免费的,如果是这样的话,那就排除了Wise。尽管如此,Wise的学习曲线却非常简单,功能强大且有据可查。在Visual Studio中,我遇到了一些奇怪的事情。有一次,我不得不删除我的项目并重新开始(可能是由于我的愚蠢 - 从来没有想到它),但总体而言,我在目前的工作中使用了它几年,并且对我很有用。

0

您可以只使用Visual Studio和Windows而无需商业工具来实现您所需的功能。

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

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