创建自定义winforms应用程序作为安装程序是不好的做法吗?

时间:2009-09-29 04:58:08

标签: c# installer

我找不到市场上的安装程序,我喜欢它的开源或免费。当然我很想使用Install shield,但我的项目需要在预算范围内完成。

我正在考虑创建一个自定义win表单应用来处理安装,这是可以接受的做法。或者我应该创建自定义MSI吗?

如果MSI是路线,我应该使用什么工具?

基本上我需要在安装程序中执行以下操作:

  1. 创建IIS应用程序
  2. 设置权限
  3. 安装控制台应用
  4. 创建计划任务
  5. 然后修补

    1. 替换IIS应用程序的bin dll
    2. Microsoft提供的内置安装程序不够灵活,无法创建自立的IIS应用程序。

5 个答案:

答案 0 :(得分:3)

MSI建议Microsoft安装任何

当然,有更简单的情况,xcopy部署正常,或者您可以拥有自己的安装程序。但在复杂的情况下,用户需要审计和卸载功能,熟悉的UI,MSI附带的pre-req检查(以及其他内容)。

您可以自定义使用Visual Studio生成的基于MSI的安装。

我通常使用Javascript编写脚本来进行自定义,然后将Javascript脚本设置为“自定义安装操作”。

alt text

答案 1 :(得分:2)

WiX具有Visual Studio集成功能,并且对于MSI构建器而言并不太痛苦,它比内置的安装项目更完全可自定义。

答案 2 :(得分:1)

如果可以,那么只需创建自己的安装程序即可执行文件。它可以下载要安装的文件,也可以下载zip文件,然后运行可执行文件,该文件将包含用于安装的所有文件。

之前我已经这样做了,因为我需要做一些VS2003无法做到的步骤,并且用户似乎并不介意运行可执行文件。

确保您在文件或注册表中有某种版本,以便您可以判断是否需要更新,因为在版本1.2和3.8之间更新可能会有一些额外的步骤,如果有些人不这样做经常更新。

当您的安装正在运行时,请确保提供有关您正在做什么以及您的距离的良好信息,这将有助于人们感觉更好。

答案 3 :(得分:1)

您可以通过Visual Studio创建Windows Installer,并添加custom actions以执行您想要的操作。

答案 4 :(得分:0)

我在Inno Setup上取得了很大的成功。它使用类似pascal的语言,并有一个名为ISTool的GUI帮助应用程序。它是免费的/ OSS并且有很好的文档记录。当有很多选择时,我无法想象必须编写我自己的安装程序。我看过的其他工具是NSIS(已经提到过),WIX(微软开源MSI构建工具),当然还有带有自定义脚本的VS安装项目。