为Visual Studio项目创建Windows安装程序

问题描述:

我想为我的项目创建一个安装程序,主要是为了处理开始增长的外部依赖项。为Visual Studio项目创建Windows安装程序

问题是这些组件中的大多数似乎以不同的方式分布,所以我需要一个可以应付以下所有问题的安装程序。我查看了各种各样的东西,但很多似乎并没有涵盖我需要的所有东西(比如如何使用Visual Studio安装项目安装directX ...),或者甚至不创建合适的Windows安装程序(例如.msi)。

  • 我所有的应用程序文件复制到目标目录
  • 创建开始菜单和桌面快捷方式
  • 安装了Direct X(即调用dxsetup.exe /静音)
  • 安装VC9 CRT REDIST(似乎是一个“合并模块”看着MSDN不管它是什么......)
  • 只需要管理权限如果下列条件之一为真
    • DirectX和/或VC9 CRT已不存在,或者需要更新
    • 安装为所有用户
    • 安装到一个目录的用户不必须为
  • 可以回滚一切写权限,如果安装在完成之前中止
  • 生成的卸载以及一个安装
  • 确保用户接受所有需要的EULA的(我的一个,VC9的Redist,支持DirectX等)

例如,我得到了VS2008 Setp项目为我的应用程序文件和VC9 CRT工作,但是我没有看到反正告诉它只是使用/ silent参数运行dxsetup.exe,而不是将它和所有其他dx安装程序解压到app目录或东西...

编辑:

而且这将是非常好的,如果我能有用于x86和x86-64一个统一的安装程序,它安装工人正确的组件(例如myapp_x86.exe或myapp_x64。 exe)取决于如果操作系统是64位或不。

EDIT2:

忘了提,但无论是免费或低成本的解决方案将受到欢迎为好,因为我需要为我的一些小的个人的东西的解决方案也是如此。

+0

听起来不像一个fanboi,但installshield将在一个项目中处理你的64位和32位安装(它们输出到单独的目录) – 2009-07-14 17:12:49

WiX是你想要的。您需要阅读v3文档和示例,因为这不是一件简单的事情。一旦你走了,你会有后续问题,你应该作为新问题发布。

另请参阅WiX tutorial,但请记住它指的是v2,并且它很多在v3中已过时或已过时。

+0

看起来不错,生病肯定给WIX一个试试:) – 2009-07-14 19:40:47

Follow这些STeps

+0

看起来不错,试试:) – 2009-07-14 19:41:18

如果你能负担得起,Installshield做这一切非常好和专业。它将包含合并文件并无缝安装。Installshield有它的怪癖,但它非常易于使用和强大。一旦你编写你的应用程序,你不会想到很多关于安装程序。

一些不错的功能,我喜欢

  • 创建补丁通过diff'ing源,因此您可以用小尺寸分发补丁安装。
  • 创建更新应用程序的注册表和版本号的升级。防止安装旧版本。
  • 创建一个漂亮的卸载程序。
  • 很容易添加合并模块。
  • 如果您需要它,可以编写程序,如果不是GUI(大部分时间您不需要编写脚本)。

如果您负担不起,请使用NSIS。它功能强大,使用方便,但准备在文本编辑器中编写代码。