123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #Download and install latest version on FreeSWITCH 1.6.
- #Set it to auto start
- Function Install-FreeSWITCH() {
- . .\resources\get-link.ps1
- . .\resources\get-file.ps1
- . .\resources\get-cpu.ps1
- if (Get-Installed-App "FreeSWITCH*") {
- Write-Host FreeSWITCH is already installed
- return
- }
- $cpu = Get-CPU
- if ($cpu -eq "x86") {
- $url = "http://files.freeswitch.org/windows/installer/x86/"
- }
- else {
- $url = "http://files.freeswitch.org/windows/installer/x64/"
- }
- $link = Get-Link $url "*${switch_version}*"
- Write-Host Download FreeSWITCH from $link -ForegroundColor Cyan
- $filename = Get-File $link
- #Required for FreeSWITCH
- if ( ([System.Environment]::OSVersion.Version.Build -lt 9600) -and -not (Get-Installed-App "FreeSWITCH*") -and -not (Get-HotFix -id KB2999226)) {
- Write-Host Install update KB2999226
- Return
- }
- Write-Host "Install Freeswitch" -ForegroundColor Cyan
- #Remove FreeSWITCH
- Start-Process MsiExec.exe "/x {B004A325-1272-47E5-A415-A74E9FC99865} /passive /qb" -Wait
- #Install new version
- Start-Process msiexec "/i $filename /passive /qb" -Wait
- #Configure service to auto start
- Start-Process sc "config FreeSWITCH start= auto" -Wait -NoNewWindow
- #Start-Service FreeSWITCH
- #Set permissions to folder "c:\Program Files\FreeSWITCH" for PHP (IIS)
- if ($iis_identity -ne "LocalSystem") {
- Icacls "c:\Program Files\FreeSWITCH" /grant "NetworkService:(OI)(CI)M"
- }
- #mod_lua.dll is missing from recent windows builds
- $lua = "C:\Program Files\FreeSWITCH\mod\mod_lua.dll"
- if ( -not (Test-Path $lua) ) {
- Get-File "https://github.com/fusionpbx/fusionpbx-install.sh/raw/master/windows/resources/$cpu/mod_lua.dll"
- Copy-Item ".\mod_lua.dll" -Destination $lua
- }
- }
|