我想为我的项目创建一个安装程序,主要是为了处理越来越多的外部依赖项。
问题是这些组件大多以不同的方式分布,因此我需要一个可以处理以下所有内容的安装程序。我看了很多东西,但很多都似乎没有涵盖我需要的所有内容(例如如何使用Visual Studio设置项目安装DirectX...),或者甚至不创建适当的Windows安装程序(例如.msi)。
编辑:
还有,如果我可以拥有一个统一的x86和x86-64安装程序,那将非常好,它将根据操作系统是否为64位来安装正确的组件(例如myapp_x86.exe或myapp_x64.exe)。
编辑2:
忘记提到,免费或低成本的解决方案也很受欢迎,因为我也需要一些较小的个人东西的解决方案。
问题是这些组件大多以不同的方式分布,因此我需要一个可以处理以下所有内容的安装程序。我看了很多东西,但很多都似乎没有涵盖我需要的所有内容(例如如何使用Visual Studio设置项目安装DirectX...),或者甚至不创建适当的Windows安装程序(例如.msi)。
- 将我的应用程序文件复制到目标目录
- 创建开始菜单和桌面快捷方式
- 安装DirectX(即调用dxsetup.exe /silent)
- 安装VC9 CRT redist(在msdn上看起来像是“合并模块”...)
- 只有在以下情况之一成立时才需要管理员权限
- DirectX和/或VC9 CRT尚未存在或需要更新
- 为所有用户安装
- 安装到用户没有写入权限的目录
- 如果在完成之前中止安装,则可以回滚所有内容
- 生成卸载程序以及安装程序
- 确保用户接受所有必需的EULA(我的,VC9 Redist,DirectX等)
编辑:
还有,如果我可以拥有一个统一的x86和x86-64安装程序,那将非常好,它将根据操作系统是否为64位来安装正确的组件(例如myapp_x86.exe或myapp_x64.exe)。
编辑2:
忘记提到,免费或低成本的解决方案也很受欢迎,因为我也需要一些较小的个人东西的解决方案。