我想为我的项目创建一个安装程序,主要是为了处理数量开始增长的外部依赖项。
问题是这些组件中的大多数似乎以不同的方式分布,所以我需要一个能够处理以下所有问题的安装程序。我查看了周围的各种东西,但是很多东西似乎没有涵盖我需要的所有东西(比如如何使用 Visual Studio 安装项目安装 directX...),或者甚至没有创建合适的 Windows 安装程序(例如 .msi)。
- 将我所有的应用程序文件复制到目标目录
- 创建开始菜单和桌面快捷方式
- 直接安装 x(即调用 dxsetup.exe/silent)
- 安装 VC9 CRT redist(似乎是一个“合并模块”,看看 msdn 是什么...)
- 仅在满足以下任一条件时才需要管理权限
- DirectX 和/或 VC9 CRT 尚未存在,或需要更新
- 为所有用户安装
- 安装到用户没有写入权限的目录
- 如果安装在完成前中止,可以回滚所有内容
- 生成卸载程序和安装程序
- 确保用户接受所有必需的 EULA(我的 EULA、VC9 Redist、DirectX 等)
例如,我让 VS2008 Setp 项目为我的应用程序文件和 VC9 CRT 工作,但无论如何我都看不到告诉它只运行带有/silent 参数的 dxsetup.exe 而不是提取它和所有其他 dx 安装程序到应用程序目录或其他...
编辑:
另外,如果我能有一个适用于 x86 和 x86-64 的统一安装程序,它会根据操作系统是否为 64 位来安装正确的组件(例如 myapp_x86.exe 或 myapp_x64.exe),那就太好了。
编辑2:
忘记提及,但也欢迎免费或低成本的解决方案,因为我的一些较小的个人元素也需要一个解决方案。
最佳答案
WiX是你想要的。您需要通读 v3 文档和示例,因为它使用起来并不简单。一旦开始,您将有后续问题,您应该将这些问题作为新问题发布。
另见 WiX tutorial ,但请记住它指的是 v2,其中很多在 v3 中已过时或过时。
关于windows - 为 Visual Studio 项目创建 Windows 安装程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1126596/