IIS and BranchCache Setup & Config
This page will cover additional items to setup for IIS, along with adding BranchCache component required for the P2P functionality to work.
Windows Component setup, IIS & BranchCache. From elevated PowerShell:
Add-WindowsFeature Web-Server, Web-Http-Errors, Web-Static-Content, Web-Digest-Auth, Web-Windows-Auth, Web-Mgmt-Console, BranchCache
IIS MIME Types
There are several additional MIME types that need to be added to the default list that IIS creates for you to be able to iPXE boot devices for OSD processes. Below is a script to populate those on the IIS Server:
#Set the MIME types for the iPXE boot files, fonts etc.
# wimboot.bin file
add-webconfigurationproperty //staticContent -name collection -value @{fileExtension='.bin';mimeType='application/octet-stream'}
#EFI loader files
add-webconfigurationproperty //staticContent -name collection -value @{fileExtension='.efi';mimeType='application/octet-stream'}
#BIOS boot loaders
add-webconfigurationproperty //staticContent -name collection -value @{fileExtension='.com';mimeType='application/octet-stream'}
#BIOS loaders without F12 key press
add-webconfigurationproperty //staticContent -name collection -value @{fileExtension='.n12';mimeType='application/octet-stream'}
#For the boot.sdi file
add-webconfigurationproperty //staticContent -name collection -value @{fileExtension='.sdi';mimeType='application/octet-stream'}
#For the boot.bcd boot configuration files & BCD file (with no extension)
add-webconfigurationproperty //staticContent -name collection -value @{fileExtension='.bcd';mimeType='application/octet-stream'}
add-webconfigurationproperty //staticContent -name collection -value @{fileExtension='.';mimeType='application/octet-stream'}
#For the winpe images itself
add-webconfigurationproperty //staticContent -name collection -value @{fileExtension='.wim';mimeType='application/octet-stream'}
#for the iPXE BIOS loader files
add-webconfigurationproperty //staticContent -name collection -value @{fileExtension='.pxe';mimeType='application/octet-stream'}
#For the UNDIonly version of iPXE
add-webconfigurationproperty //staticContent -name collection -value @{fileExtension='.kpxe';mimeType='application/octet-stream'}
#For the boot fonts
add-webconfigurationproperty //staticContent -name collection -value @{fileExtension='.ttf';mimeType='application/octet-stream'}
To confirm in IIS Manager, open IIS, Click "Default Web Site" and Double Click on MIME Types to get the list. Confirm the ones above are added.

IIS Virtual Directory
A virtual directory in IIS to point at the Remote Install Folder is needed. This can be done manually in IIS Manager, or via PowerShell. This command will create the virtual directory based on the default installation path of iPXE Anywhere Web Service:
New-WebVirtualDirectory -Site "Default Web Site" -Name "Remoteinstall" -PhysicalPath 'C:\ProgramData\2Pint Software\2PXE\Remoteinstall\'
To do this manually via the IIS Manager:
Open IIS, Right Click on "Default Web Site" and choose "Add Virtual Directory..."
Alias: Remoteinstall
PhysicalPath = C:\ProgramData\2Pint Software\2PXE\Remoteinstall
Once you have added it, it will show up in the console, and if you drill down you'll see the extra subfolders, and if you check the Advanced Properties, you can confirm the path

Last updated