Page 1 of 1
SOLVED: Console Extension Pack installation Powershell
Posted: 30. Nov 2017, 14:01
by ft systems gmbh
Hi together
I've written a Powershellscript to Install the Extension Pack and want to share it here.
Unfotunatelly this message comes: "You must be a member for 1 days and have 1 posts before you can post u r l." (Because I have some U R L to refer)
Even the word "U R L" is not allowed for the first Post. Thats why I write it with spaces.
So, I create my first post with this and publish the script tomorrow.
Kind Regards
Michael
Re: SOLVED: Console Extension Pack installation Powershell
Posted: 30. Nov 2017, 15:19
by socratis
Don't post the URL, post the instructions here. You never know when your hosting site might go down. Again, please post the instructions here, not in a 3rd party site. Thank you.
Re: SOLVED: Console Extension Pack installation Powershell
Posted: 3. Dec 2017, 14:59
by ft systems gmbh
Hi together
@socratis: I always wanted to post the solution, not just a link. But for documentation reason (source links of some code snippets) my post contains URL's. Sorry when I was unspecific. :-)
Based on this page
viewtopic.php?f=7&t=44337 I've written a Powershellscript.
I've written some potential improvements in the script. (See "The following features are not implemented yet.") Feel free to implement and share them.
Have fun.
Kind Regards
Michael
Code: Select all
# Scriptname: 171130_virtualbox_extpack-vALL-both-mui.ps1
# 30.11.2017, Michael Nydegger, http://www.michael-nydegger.ch
# Titel: Download and install proper extension pack for Virtualbox
# Description: This script downloads the proper VirtualBox ExtensionPack.
#
# IMPORTENT
# Oracle VM VirtualBox Extension Pack is only for personal and evaluation use!
# See https://www.virtualbox.org/wiki/VirtualBox_PUEL
#
# The following features are not implemented yet. Feel free to implement and share it:
# - Check if downloadfile exists before downloading. Line 40
# - Check if the current Version of Extension pack is installed. if yes -> abort installation
# - Check if VirtualBox Extension Pack was successfully installed
# Testing
# -------
# Tested as followed:
# - Install on Virtualbox Version 5.2.2r119230
# - Install on Virtualbox Version 5.1.30
# - Install on Virtualbox Version 5.1.30. Executed this script. Updated Virtualbox to 5.2.2r119230. Run this script again.
# Manual of "VBoxManage.exe": https://www.virtualbox.org/manual/ch08.html
# Check if "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" exists aka Virtualbox is installed
# Source: https://www.windowspro.de/script/test-path-powershell-pruefen-ob-eine-datei-existiert
if(Test-Path "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"){
# Get version of the installed VirtualBox
$VBOX_VERSION_PLAIN = & "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" -v
# Cut string of version
# Source: https://stackoverflow.com/questions/5203730/cut-off-text-in-string-after-before-seperator-in-powershell
# Get version without number after letter "r"
$VBOX_VERSION_CUT_BEFORE = $VBOX_VERSION_PLAIN.Substring(0, $VBOX_VERSION_PLAIN.IndexOf("r"))
# Get number after letter "r"
$VBOX_VERSION_CUT_AFTER = $VBOX_VERSION_PLAIN.Substring($VBOX_VERSION_PLAIN.IndexOf("r")+1)
# Create Filename to download
# Example filename: Oracle_VM_VirtualBox_Extension_Pack-5.1.30-118389.vbox-extpack
$VBOX_FILENAME = "Oracle_VM_VirtualBox_Extension_Pack-" + $VBOX_VERSION_CUT_BEFORE + "-" + $VBOX_VERSION_CUT_AFTER + ".vbox-extpack"
# Create full downloadpath
$VBOX_DOWNLOADPATH = "http://download.virtualbox.org/virtualbox/" + $VBOX_VERSION_CUT_BEFORE + "/" + $VBOX_FILENAME
# Check if link exist
# Source: https://gist.github.com/hrwgc/7455343
# not implemented yet. Feel free to complete
# Download file
wget $VBOX_DOWNLOADPATH -OutFile $VBOX_FILENAME
# Install the downloaded package
# "--replace" removes old versions first.
# Accept License. Source:
# https://forums.virtualbox.org/viewtopic.php?f=6&t=82761#p399415
# https://www.virtualbox.org/ticket/16674
echo y | & "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" extpack install --replace $VBOX_FILENAME
# "Used to remove temporary files and directories that may have been left behind if a previous install or uninstall command failed." - Copied from https://www.virtualbox.org/manual/ch08.html
& "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" extpack cleanup
# Delete downloaded file
Remove-Item $VBOX_FILENAME -Force
$EXITMESSAGE = "Installation finished"
$EXITCODE = 0
}
else{
$EXITMESSAGE = "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe not found. Probably Virtualbox is not installed."
$EXITCODE = 1
}
Write-Host $EXITMESSAGE
exit $EXITCODE