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