我可以制作一个包含Vagrant,VirtualBox和其他依赖项的自定义MSI吗?

简介:我想找出一种方法来自动化项目的安装,并将它依赖于Windows(7,8)平台。 特别是我想安装所有需要“依赖”的依赖项,我想把这个分发给我的团队成员。


问题:我已经考虑使用免费软件工具( http://www.advancedinstaller.com/ )来帮助我创build一个MSI。 不过我想现在只能用专门的MSI安装程序下载。 请参阅http://mitchellh.com/abandoning-rubygems

除了需要stream浪者以外,我想自动安装oracle virtualbox,我们需要一些vagrant插件。

我也想包括项目本身。我有一个vagrantfile已经过testing,运作良好。


重新解决问题:换句话说,由于Vagrant似乎只提供Windows的MSI安装程序,所以我不知道是否仍然可以创build包含我想要的其他项目的自定义msi。 如果有可能,我不知道该怎么做。 如果有比使用MSI更好的方法,pease告诉。

Windows安装程序包不是一个递归结构。

尝试一个WiX的Bootstrapper项目来创建一个带链式子安装程序的EXE。 它使用WiX刻录引擎,它是引导程序,下载程序(可选),打包程序(可选嵌入),chainer,重启管理器,程序包管理器。

如果您使用高级安装程序(如您所述),您可以在“先决条件”页面中添加Vagrant,VirtualBox和其他依赖项,如其教程中所述: http : //www.advancedinstaller.com/user-guide/tutorial-professional的.html#先决条件

您可以通过为它们设置命令行来自动安装它们。

你尝试过使用巧克力类的东西吗?

我以前使用它创建BAT脚本来在Windows 7上安装Virtual Box和Vagrant。

像下面这样的东西可能是一个开始的地方:

 @echo关闭

如果不存在C:\ Chocolatey转到InstallChocolatey
回声巧克力已经安装。
后藤:InstallPrograms

 :InstallChocolatey
 ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))“&& SET PATH =%PATH%;%ALLUSERSPROFILE%@Powershell -NoProfile -ExecutionPolicy unrestricted -Command” \的巧克力\斌

 :InstallPrograms
叫巧克力
调用cinst virtualbox
打电话给流浪汉