Skip to content

Commit

Permalink
GH-68: Release version 1.8 (#69)
Browse files Browse the repository at this point in the history
* GH-54 - Add support for the installation of the MSOLEDBSQL driver v18.3.0.0

* GH-64 - Add support for the installation of ODAC 19c Release 3 for Microsoft Windows 32-bit (ISHServer.14) (#66)

* GH-68: Release version 1.8
  • Loading branch information
beutepa authored Apr 6, 2020
1 parent c973187 commit 492d6f4
Show file tree
Hide file tree
Showing 5 changed files with 156 additions and 0 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
**1.8**

Issues:
- GH-54: Add support for the installation of the Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) v18.3.0.0 (ISHServer.14)
- GH-64: Add support for the installation of ODAC 19c Release 3 for Microsoft Windows 32-bit (ISHServer.14)
Installation of ODAC 12 (ODTwithODAC122010) is still the default when using Install-ISHToolOracleODAC.
To install ODAC 19c Release 3 (ODAC193Xcopy_32bit), you need to use Install-ISHToolOracleODACv19.

**1.7**

Issues:
Expand Down
2 changes: 2 additions & 0 deletions Source/Modules/ISHServer/Get-ISHPrerequisites.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,8 @@ function Get-ISHPrerequisites
{
$filesToDownload+=Get-Variable -Name "ISHServer:AdoptOpenJDK" -ValueOnly
$filesToDownload+=Get-Variable -Name "ISHServer:AdoptOpenJRE" -ValueOnly
$filesToDownload+=Get-Variable -Name "ISHServer:MSOLEDBSQL" -ValueOnly
$filesToDownload+="$(Get-Variable -Name "ISHServer:Oracle19" -ValueOnly).zip"
}

#Dependend on Operating System Information (OS Server vesion, already installed prerequisites)
Expand Down
5 changes: 5 additions & 0 deletions Source/Modules/ISHServer/ISHServer.14.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,13 @@ Set-Variable -Name "ISHServer:HtmlHelp" -Value "htmlhelp.zip" -Scope "Script" -O
Set-Variable -Name "ISHServer:AntennaHouse" -Value "V6-5-R1-Windows_X64_64E.exe" -Scope "Script" -Option Constant
Set-Variable -Name "ISHServer:AntennaHouseInstallPath" -Value "Antenna House\AHFormatterV65\" -Scope "Script" -Option Constant
Set-Variable -Name "ISHServer:Oracle" -Value "ODTwithODAC122010" -Scope "Script" -Option Constant
Set-Variable -Name "ISHServer:Oracle19" -Value "ODAC193Xcopy_32bit" -Scope "Script" -Option Constant
Set-Variable -Name "ISHServer:MicrosoftVisualCPlusPlusRedistributable" -Value "NETFramework2015_4.6_MicrosoftVisualC++Redistributable_(vc_redist.x64).exe" -Scope "Script" -Option Constant
Set-Variable -Name "ISHServer:NETFrameworkRequiredVersion" -Value "4.7.2" -Scope "Script" -Option Constant
Set-Variable -Name "ISHServer:NETFramework" -Value "NETFramework2017_4.7.2.xxxxx_(NDP472-KB4054530-x86-x64-AllOS-ENU).exe" -Scope "Script" -Option Constant
Set-Variable -Name "ISHServer:VisualBasicRuntime" -Value "vbrun60sp6.exe" -Scope "Script" -Option Constant
Set-Variable -Name "ISHServer:MSOLEDBSQLRequiredVersion" -Value "18.2.1.0" -Scope "Script" -Option Constant
Set-Variable -Name "ISHServer:MSOLEDBSQL" -Value "msoledbsql_18.3.0.0_x64.msi" -Scope "Script" -Option Constant
#Set-Variable -Name "ISHServer:MSXML" -Value "MSXML.40SP3.msi" -Scope "Script" -Option Constant

$exportNames=@(
Expand Down Expand Up @@ -71,9 +74,11 @@ $exportNames=@(
"Install-ISHToolHtmlHelp"
"Install-ISHToolAntennaHouse"
"Install-ISHToolOracleODAC"
"Install-ISHToolOracleODACv19"
"Install-ISHWindowsFeature"
"Install-ISHWindowsFeatureIISWinAuth"
"Install-ISHVisualBasicRuntime"
"Install-ISHToolMSOLEDBSQL"
#endregion

#region Regional settings
Expand Down
67 changes: 67 additions & 0 deletions Source/Modules/ISHServer/Install-ISHToolMSOLEDBSQL.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<#
# Copyright (c) 2014 All Rights Reserved by the SDL Group.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#>

function Install-ISHToolMSOLEDBSQL {
[CmdletBinding()]
Param()

begin {
. $PSScriptRoot\Private\Test-RunningAsElevated.ps1
Test-RunningAsElevated -StopCallerPSCmdlet $PSCmdlet

. $PSScriptRoot\Get-ISHServerFolderPath.ps1
}

process {
[Version]$MSOLEDBSQLRequiredVersion = Get-Variable -Name "ISHServer:MSOLEDBSQLRequiredVersion" -ValueOnly

[Version]$MSOLEDBSQLInstalledVersion = "0.0.0"
$MSOLEDBSQLInstalled = (New-Object system.data.oledb.oledbenumerator).GetElements() | Where-Object { ($_.SOURCES_NAME -like '*MSOLEDBSQL*') -and ($_.SOURCES_NAME -notlike "*Enumerator") }
if ($MSOLEDBSQLInstalled) {
# Get installed version of MSOLEDBSQL
$MSOLEDBSQLRegistryPath = "HKLM:\Software\Microsoft\Microsoft OLE DB Driver for SQL Server"
if (Test-Path $MSOLEDBSQLRegistryPath) {
[Version]$MSOLEDBSQLInstalledVersion = (Get-ItemProperty "$MSOLEDBSQLRegistryPath\*").Version
}
}

if ($MSOLEDBSQLInstalledVersion -ge $MSOLEDBSQLRequiredVersion) {
Write-Verbose "The installed version of MSOLEDBSQL ($($MSOLEDBSQLInstalledVersion)) is higher than or equal to the minimal required version ($($MSOLEDBSQLRequiredVersion))."
}
else {
$fileName = Get-Variable -Name "ISHServer:MSOLEDBSQL" -ValueOnly
$filePath = Join-Path (Get-ISHServerFolderPath) $fileName
$logFile = Join-Path $env:TEMP "$FileName.log"
$arguments = @(
"/package"
$filePath
"/qn"
"/norestart"
"/lv"
"$logFile"
"IACCEPTMSOLEDBSQLLICENSETERMS=YES"
)

Write-Debug "Installing $filePath"
Start-Process "msiexec" -ArgumentList $arguments -Wait -Verb RunAs
Write-Verbose "Installed $fileName"
Write-Warning "You must restart the server before you proceed."
}
}
end {

}
}
74 changes: 74 additions & 0 deletions Source/Modules/ISHServer/Install-ISHToolOracleODACv19.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<#
# Copyright (c) 2014 All Rights Reserved by the SDL Group.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#>

function Install-ISHToolOracleODACv19
{
[CmdletBinding()]
Param()

begin
{
. $PSScriptRoot\Private\Test-RunningAsElevated.ps1
Test-RunningAsElevated -StopCallerPSCmdlet $PSCmdlet

. $PSScriptRoot\Get-ISHServerFolderPath.ps1
}

process
{
# https://docs.sdl.com/LiveContent/content/en-US/SDL%20Tridion%20Docs-v2.1.1/GUID-DD65E7B5-204B-48D7-91F9-CBDCB0730B80
$baseFileName=Get-Variable -Name "ISHServer:Oracle19" -ValueOnly
$fileName="$baseFileName.zip"
$filePath=Join-Path (Get-ISHServerFolderPath) $fileName
$targetPath=Join-Path $env:TEMP "$baseFileName"
$oracleHomePath="C:\Oracle\product\19.0.0\ODAC"
if(Test-Path $targetPath)
{
Write-Warning "$fileName is already available in $targetPath"
}
else
{
Write-Debug "Creating $targetPath"
New-Item $targetPath -ItemType Directory |Out-Null
Write-Debug "Unzipping $filePath to $targetPath"
[System.Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem')|Out-Null
[System.IO.Compression.ZipFile]::ExtractToDirectory($filePath, $targetPath)|Out-Null
Write-Verbose "Unzipped $filePath"
}

# Install the ODAC components for the Oracle Provider for OLEDB
$cmd32Path="$Env:SystemRoot\SysWOW64\cmd.exe"
$setupPath=Join-Path $targetPath "install.bat"
$arguments=@(
"/c"
"$setupPath"
"oledb"
"$oracleHomePath"
"ODAC"
)

Write-Debug "Installing using $setupPath from $cmd32Path"
Start-Process $cmd32Path -ArgumentList $arguments -WorkingDirectory $targetPath -Wait -Verb RunAs
Write-Verbose "Installed using $setupPath from $cmd32Path"

[Environment]::SetEnvironmentVariable("Path", "$oracleHomePath;$oracleHomePath\bin;" + $env:Path, "Machine")
[Environment]::SetEnvironmentVariable("TNS_ADMIN", "$oracleHomePath\network\admin", "Machine")
}
end
{

}
}

0 comments on commit 492d6f4

Please sign in to comment.