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

时间:2014-08-12 19:33:28

标签: windows windows-installer vagrant virtualbox package-managers

摘要:我想弄清楚一种自动化项目安装的方法,并且它依赖于Windows(7,8)平台。特别是我想安装“vagrant up”所需的所有依赖项,我想将它分发给我的团队成员。


问题:我考虑使用免费工具(http://www.advancedinstaller.com/)来帮助我创建MSI。但是我认为vagrant现在只能通过专门的MSI安装程序下载。见http://mitchellh.com/abandoning-rubygems

除了需要流浪汉,我想自动安装oracle virtualbox,我们需要一些流浪插件。

我还希望包含项目本身。我有一个已经过测试并且运行良好的vagrantfile。


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

3 个答案:

答案 0 :(得分:1)

Windows Installer程序包并不是一个递归结构。

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:-1)

您是否尝试使用Chocolatey之类的内容?

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

以下内容可能是一个开始的地方:

@echo off

if not exist C:\Chocolatey goto InstallChocolatey
echo Chocolatey already installed.
goto:InstallPrograms

:InstallChocolatey
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

:InstallPrograms
call cinst chocolatey
call cinst virtualbox
call cinst vagrant